### Question:
ButtonWithMutableSubjectAndResourceVM extends SimpleButtonVM implements MutableSubjectButtonVM,
		MutableResourceButtonVM { @Override public void setImageResourceId(final int imageId) { this.imageId = imageId; notifyImageResourceChanged(); } ButtonWithMutableSubjectAndResourceVM(int layoutId, boolean enabled,
			int clickableResId, int[]
			enableDisableResIds, ButtonCommand actionCommand, int imageResourceId,
			int subjectResourceId); @Override int getImageResourceId(); @Override void setImageResourceId(final int imageId); @Override int getResIdToChangeResource(); @Override String getSubject(); @Override void setSubject(final String subject); @Override int getResIdToInsertSubject();  }### Answer:
@Test public void shouldNotifyButtonVMListener() { MutableResourceButtonVM buttonWithMutableResource = (MutableResourceButtonVM) buttonVM; buttonWithMutableResource.registerListener(mockedButtonVMListener); buttonWithMutableResource.setImageResourceId(ANY_IMAGE_ID); verify(mockedButtonVMListener).onImageResourceChanged(ANY_IMAGE_ID, buttonWithMutableResource); }