Last active
December 6, 2016 14:17
-
-
Save Sch3lp/a712cb3bc2098253a2187d3ad26da431 to your computer and use it in GitHub Desktop.
Example of tight coupling between Test and Implementation with Mockito, aka Mockitis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RunWith(MockitoJUnitRunner.class) | |
public class SettlementMockitoTest { | |
@Test | |
public void settlement_WhenMoreSettlersAssignedToDefenseThanAmountOfRaiders_CanDefendItself() throws Exception { | |
Raiders raiders = mock(Raiders.class); | |
when(raiders.getAmountOfRaiders()).thenReturn(1); | |
Settler defender = mock(Settler.class); | |
Settler farmer = mock(Settler.class); | |
Settler clerk = mock(Settler.class); | |
List<Settler> settlers = Arrays.asList(defender, farmer, clerk); | |
when(defender.isAssignedToDefense()).thenReturn(true); | |
when(farmer.isAssignedToDefense()).thenReturn(false); | |
when(clerk.isAssignedToDefense()).thenReturn(false); | |
Settlement settlement = new Settlement(settlers); | |
assertThat(settlement.defend(raiders)).isTrue(); | |
} | |
@Test | |
public void settlement_WhenEqualSettlersAssignedToDefenseThanAmountOfRaiders_CanDefendItself() throws Exception { | |
Raiders raiders = mock(Raiders.class); | |
when(raiders.getAmountOfRaiders()).thenReturn(2); | |
Settler defender = mock(Settler.class); | |
Settler farmer = mock(Settler.class); | |
Settler clerk = mock(Settler.class); | |
List<Settler> settlers = Arrays.asList(defender, farmer, clerk); | |
when(defender.isAssignedToDefense()).thenReturn(true); | |
when(farmer.isAssignedToDefense()).thenReturn(true); | |
when(clerk.isAssignedToDefense()).thenReturn(false); | |
Settlement settlement = new Settlement(settlers); | |
assertThat(settlement.defend(raiders)).isTrue(); | |
} | |
@Test | |
public void settlement_WhenLessSettlersAssignedToDefenseThanAmountOfRaiders_CanNotDefendItself() throws Exception { | |
Raiders raiders = mock(Raiders.class); | |
when(raiders.getAmountOfRaiders()).thenReturn(2); | |
Settler defender = mock(Settler.class); | |
Settler farmer = mock(Settler.class); | |
Settler clerk = mock(Settler.class); | |
List<Settler> settlers = Arrays.asList(defender, farmer, clerk); | |
when(defender.isAssignedToDefense()).thenReturn(true); | |
when(farmer.isAssignedToDefense()).thenReturn(false); | |
when(clerk.isAssignedToDefense()).thenReturn(false); | |
Settlement settlement = new Settlement(settlers); | |
assertThat(settlement.defend(raiders)).isFalse(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment