Skip to content

Commit 52c483f

Browse files
committed
Added tests for servant pattern
1 parent c72faeb commit 52c483f

4 files changed

Lines changed: 203 additions & 0 deletions

File tree

servant/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,10 @@
1414
<artifactId>junit</artifactId>
1515
<scope>test</scope>
1616
</dependency>
17+
<dependency>
18+
<groupId>org.mockito</groupId>
19+
<artifactId>mockito-core</artifactId>
20+
<scope>test</scope>
21+
</dependency>
1722
</dependencies>
1823
</project>
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package com.iluwatar.servant;
2+
3+
import org.junit.Test;
4+
5+
import static org.junit.Assert.*;
6+
7+
/**
8+
* Date: 12/28/15 - 9:40 PM
9+
*
10+
* @author Jeroen Meulemeester
11+
*/
12+
public class KingTest {
13+
14+
@Test
15+
public void testHungrySoberUncomplimentedKing() {
16+
final King king = new King();
17+
king.changeMood();
18+
assertFalse(king.getMood());
19+
}
20+
21+
@Test
22+
public void testFedSoberUncomplimentedKing() {
23+
final King king = new King();
24+
king.getFed();
25+
king.changeMood();
26+
assertFalse(king.getMood());
27+
}
28+
29+
@Test
30+
public void testHungryDrunkUncomplimentedKing() {
31+
final King king = new King();
32+
king.getDrink();
33+
king.changeMood();
34+
assertFalse(king.getMood());
35+
}
36+
37+
@Test
38+
public void testHungrySoberComplimentedKing() {
39+
final King king = new King();
40+
king.receiveCompliments();
41+
king.changeMood();
42+
assertFalse(king.getMood());
43+
}
44+
45+
@Test
46+
public void testFedDrunkUncomplimentedKing() {
47+
final King king = new King();
48+
king.getFed();
49+
king.getDrink();
50+
king.changeMood();
51+
assertTrue(king.getMood());
52+
}
53+
54+
@Test
55+
public void testFedSoberComplimentedKing() {
56+
final King king = new King();
57+
king.getFed();
58+
king.receiveCompliments();
59+
king.changeMood();
60+
assertFalse(king.getMood());
61+
}
62+
63+
@Test
64+
public void testFedDrunkComplimentedKing() {
65+
final King king = new King();
66+
king.getFed();
67+
king.getDrink();
68+
king.receiveCompliments();
69+
king.changeMood();
70+
assertFalse(king.getMood());
71+
}
72+
73+
@Test
74+
public void testHungryDrunkComplimentedKing() {
75+
final King king = new King();
76+
king.getDrink();
77+
king.receiveCompliments();
78+
king.changeMood();
79+
assertFalse(king.getMood());
80+
}
81+
82+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.iluwatar.servant;
2+
3+
import org.junit.Test;
4+
5+
import static org.junit.Assert.*;
6+
7+
/**
8+
* Date: 12/28/15 - 9:52 PM
9+
*
10+
* @author Jeroen Meulemeester
11+
*/
12+
public class QueenTest {
13+
14+
@Test
15+
public void testNotFlirtyUncomplemented() throws Exception {
16+
final Queen queen = new Queen();
17+
queen.setFlirtiness(false);
18+
queen.changeMood();
19+
assertFalse(queen.getMood());
20+
}
21+
22+
@Test
23+
public void testNotFlirtyComplemented() throws Exception {
24+
final Queen queen = new Queen();
25+
queen.setFlirtiness(false);
26+
queen.receiveCompliments();
27+
queen.changeMood();
28+
assertFalse(queen.getMood());
29+
}
30+
31+
@Test
32+
public void testFlirtyUncomplemented() throws Exception {
33+
final Queen queen = new Queen();
34+
queen.changeMood();
35+
assertFalse(queen.getMood());
36+
}
37+
38+
@Test
39+
public void testFlirtyComplemented() throws Exception {
40+
final Queen queen = new Queen();
41+
queen.receiveCompliments();
42+
queen.changeMood();
43+
assertTrue(queen.getMood());
44+
}
45+
46+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package com.iluwatar.servant;
2+
3+
import org.junit.Test;
4+
5+
import java.util.ArrayList;
6+
7+
import static org.junit.Assert.*;
8+
import static org.mockito.Mockito.mock;
9+
import static org.mockito.Mockito.verify;
10+
import static org.mockito.Mockito.verifyNoMoreInteractions;
11+
import static org.mockito.Mockito.when;
12+
13+
/**
14+
* Date: 12/28/15 - 10:02 PM
15+
*
16+
* @author Jeroen Meulemeester
17+
*/
18+
public class ServantTest {
19+
20+
@Test
21+
public void testFeed() throws Exception {
22+
final Royalty royalty = mock(Royalty.class);
23+
final Servant servant = new Servant("test");
24+
servant.feed(royalty);
25+
verify(royalty).getFed();
26+
verifyNoMoreInteractions(royalty);
27+
}
28+
29+
@Test
30+
public void testGiveWine() throws Exception {
31+
final Royalty royalty = mock(Royalty.class);
32+
final Servant servant = new Servant("test");
33+
servant.giveWine(royalty);
34+
verify(royalty).getDrink();
35+
verifyNoMoreInteractions(royalty);
36+
}
37+
38+
@Test
39+
public void testGiveCompliments() throws Exception {
40+
final Royalty royalty = mock(Royalty.class);
41+
final Servant servant = new Servant("test");
42+
servant.giveCompliments(royalty);
43+
verify(royalty).receiveCompliments();
44+
verifyNoMoreInteractions(royalty);
45+
}
46+
47+
@Test
48+
public void testCheckIfYouWillBeHanged() throws Exception {
49+
final Royalty goodMoodRoyalty = mock(Royalty.class);
50+
when(goodMoodRoyalty.getMood()).thenReturn(true);
51+
52+
final Royalty badMoodRoyalty = mock(Royalty.class);
53+
when(badMoodRoyalty.getMood()).thenReturn(true);
54+
55+
final ArrayList<Royalty> goodCompany = new ArrayList<>();
56+
goodCompany.add(goodMoodRoyalty);
57+
goodCompany.add(goodMoodRoyalty);
58+
goodCompany.add(goodMoodRoyalty);
59+
60+
final ArrayList<Royalty> badCompany = new ArrayList<>();
61+
goodCompany.add(goodMoodRoyalty);
62+
goodCompany.add(goodMoodRoyalty);
63+
goodCompany.add(badMoodRoyalty);
64+
65+
assertTrue(new Servant("test").checkIfYouWillBeHanged(goodCompany));
66+
assertTrue(new Servant("test").checkIfYouWillBeHanged(badCompany));
67+
68+
}
69+
70+
}

0 commit comments

Comments
 (0)