### Question:
ButtonWithCounterVM extends SimpleButtonVM implements CounterButtonVM { @Override public void setCounterValue(final int counterValue) { this.counterValue = counterValue; notifyCounterListener(counterValue); } ButtonWithCounterVM(int layoutId, boolean enabled, int clickableResId, int[] enableDisableResIds,
			ButtonCommand actionCommand,
			int counterValue, int counterWidgetId); @Override int getCounterValue(); @Override void setCounterValue(final int counterValue); @Override int getCounterWidgetId();  }### Answer:
@Test public void shouldNotifyButtonVMListener() { ButtonWithCounterVM buttonWithCounterVM = (ButtonWithCounterVM) buttonVM; buttonWithCounterVM.registerListener(mockedButtonVMListener); buttonWithCounterVM.setCounterValue(ANY_OTHER_COUNTER_VALUE); verify(mockedButtonVMListener, times(1)).onCounterValueChanged(ANY_OTHER_COUNTER_VALUE, buttonWithCounterVM); }