package com.example.features.dashboard.view; import com.example.util.dummy.DummyDataProvider; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; @RunWith(MockitoJUnitRunner.class) public class MainActivityViewStateTest { @Mock MainView mockMainView; private MainActivityViewState mainActivityViewState; private final DummyDataProvider dummyDataProvider = new DummyDataProvider(); @Before public void setUp() { mainActivityViewState = new MainActivityViewState(); } @Test public void applying_view_state_sets_the_view() { mainActivityViewState.saveShots(dummyDataProvider.shots().getShotList()); mainActivityViewState.apply(mockMainView, false); verify(mockMainView).displayShotsList(dummyDataProvider.shots().getShotList()); } @Test public void applying_empty_view_state_does_nothing() { mainActivityViewState.apply(mockMainView, false); verifyZeroInteractions(mockMainView); } }