1
2
3
4
5
6 package integration.tests;
7
8 import static org.junit.jupiter.api.Assertions.assertFalse;
9 import static org.junit.jupiter.api.Assertions.assertTrue;
10
11 import org.junit.jupiter.api.MethodOrderer;
12 import org.junit.jupiter.api.Test;
13 import org.junit.jupiter.api.TestMethodOrder;
14
15 @TestMethodOrder(MethodOrderer.MethodName.class)
16 class BooleanExpressionsTest extends CoverageTest {
17 BooleanExpressions tested;
18
19 @Test
20 void evalBuggyCombination() {
21
22
23 assertTrue(tested.eval1(true, false, 1));
24
25
26 }
27
28 @Test
29 void evalOnlySomeCombinations() {
30 assertTrue(tested.eval1(true, true, 0));
31 assertFalse(tested.eval1(true, false, 0));
32
33
34 }
35
36 @Test
37 void evalAllCombinations() {
38 assertTrue(tested.eval2(true, true, 0));
39 assertTrue(tested.eval2(true, false, 1));
40 assertFalse(tested.eval2(true, false, 0));
41 assertFalse(tested.eval2(false, true, 0));
42
43
44 }
45
46 @Test
47 void evalAllPaths() {
48 assertFalse(tested.eval3(false, true, false));
49 assertTrue(tested.eval3(true, true, false));
50 assertTrue(tested.eval3(true, false, true));
51 assertFalse(tested.eval3(true, false, false));
52
53
54 }
55
56 @Test
57 void evalOnlyFirstAndSecondBranches() {
58 assertFalse(tested.eval4(false, true, false));
59 assertFalse(tested.eval4(false, false, false));
60 assertFalse(tested.eval4(false, true, true));
61 assertFalse(tested.eval4(false, false, true));
62 assertTrue(tested.eval4(true, false, false));
63 assertTrue(tested.eval4(true, false, true));
64
65
66 }
67
68 @Test
69 void eval5() {
70 assertFalse(tested.eval5(false, true, true));
71 assertTrue(tested.eval5(false, false, false));
72
73
74 }
75
76 @Test
77 void methodWithComplexExpressionWhichCallsAnotherInSameClass() {
78 BooleanExpressions.isSameTypeIgnoringAutoBoxing(int.class, Integer.class);
79
80
81 }
82
83 @Test
84 void trivialMethodWhichReturnsBooleanInput() {
85 assertTrue(tested.simplyReturnsInput(true));
86 assertFalse(tested.simplyReturnsInput(false));
87
88 assertLine(142, 1, 1, 2);
89 }
90
91 @Test
92 void methodWhichReturnsNegatedBoolean() {
93 assertTrue(tested.returnsNegatedInput(false));
94
95
96 }
97
98 @Test
99 void methodWithIfElseAndTrivialTernaryOperator() {
100 assertTrue(tested.returnsTrivialResultFromInputAfterIfElse(false, 1));
101 assertFalse(tested.returnsTrivialResultFromInputAfterIfElse(true, 0));
102 }
103
104 @Test
105 void methodWithTrivialTernaryOperatorAndTrivialIfElse() {
106 assertTrue(tested.returnsResultPreviouslyComputedFromInput(false, 1));
107 assertFalse(tested.returnsResultPreviouslyComputedFromInput(false, 0));
108 assertTrue(tested.returnsResultPreviouslyComputedFromInput(true, 1));
109 assertTrue(tested.returnsResultPreviouslyComputedFromInput(true, -1));
110
111 assertLines(190, 200, 6);
112 assertLine(190, 3, 3, 4, 2, 2);
113 assertLine(193, 1, 1, 4, 3);
114 assertLine(196, 1, 1, 1);
115 assertLine(197, 1, 1, 1);
116 assertLine(200, 1, 1, 4);
117 }
118 }