@Override protected void onUnsubscribe() { featureController.removeFeatureEventListener(listener); } });
@Test public void removeFeatureEventListener_should_stopRelayingTheEventsFromTheAdapterViewTypeDelegates() { //GIVEN AdapterViewTypeDelegate stubAdapterViewTypeDelegate = new StubAdapterViewTypeDelegate(); FeatureController<String> featureController = new StubFeatureController<>(asList(stubAdapterViewTypeDelegate)); FeatureEventListener mockListener = createMock(FeatureEventListener.class); final FeatureEvent featureEvent = new FeatureEvent() {}; replay(mockListener); //WHEN featureController.addFeatureEventListener(mockListener); featureController.removeFeatureEventListener(mockListener); stubAdapterViewTypeDelegate.fireEvent(featureEvent); //THEN verify(mockListener); } }