View Javadoc
1   package integrationTests.otherControlStructures;
2   
3   import org.junit.jupiter.api.Test;
4   
5   import integrationTests.CoverageTest;
6   
7   class SwitchStatementsTest extends CoverageTest {
8       final SwitchStatements tested = new SwitchStatements();
9   
10      @Test
11      void switchStatementWithSparseCasesAndDefault() {
12          tested.switchStatementWithSparseCasesAndDefault('A');
13          tested.switchStatementWithSparseCasesAndDefault('\0');
14  
15          assertLines(5, 20, 5);
16          assertLine(5, 1, 1, 2);
17          assertLine(7, 1, 1, 1);
18          assertLine(8, 1, 1, 1);
19          assertLine(16, 1, 1, 1);
20          assertLine(18, 1, 0, 0);
21          assertLine(20, 1, 1, 1);
22      }
23  
24      @Test
25      void switchStatementWithSparseCasesAndDefaultOnDefaultCase() {
26          tested.anotherSwitchStatementWithSparseCasesAndDefault('x');
27  
28          // TODO: assertions
29      }
30  
31      @Test
32      void switchStatementWithCompactCasesAndDefault() {
33          tested.switchStatementWithCompactCasesAndDefault(2);
34          tested.switchStatementWithCompactCasesAndDefault(4);
35  
36          // TODO: assertions
37      }
38  
39      @Test
40      void switchStatementWithCompactCasesAndDefaultOnDefaultCase() {
41          tested.anotherSwitchStatementWithCompactCasesAndDefault(1);
42          tested.anotherSwitchStatementWithCompactCasesAndDefault(5);
43  
44          assertLines(51, 57, 4);
45          assertLine(52, 1, 1, 2);
46          assertLine(53, 1, 1, 1);
47          assertLine(54, 1, 1, 1);
48          assertLine(57, 1, 1, 2);
49      }
50  
51      @Test
52      void switchStatementWithSparseCasesAndNoDefault() {
53          tested.switchStatementWithSparseCasesAndNoDefault('f');
54          tested.switchStatementWithSparseCasesAndNoDefault('b');
55  
56          assertLines(60, 68, 3);
57          assertLine(60, 1, 1, 2);
58          assertLine(62, 1, 0, 0);
59          assertLine(63, 1, 0, 0);
60          assertLine(65, 1, 1, 1);
61          assertLine(66, 0, 0, 0);
62          assertLine(68, 1, 1, 2);
63      }
64  
65      @Test
66      void switchStatementWithCompactCasesAndNoDefault() {
67          tested.switchStatementWithCompactCasesAndNoDefault(0);
68          tested.switchStatementWithCompactCasesAndNoDefault(4);
69          tested.switchStatementWithCompactCasesAndNoDefault(5);
70  
71          assertLines(71, 81, 4);
72          assertLine(71, 1, 1, 3);
73          assertLine(74, 1, 1, 3);
74          assertLine(75, 1, 0, 0);
75          assertLine(76, 1, 0, 0);
76          assertLine(77, 1, 1, 1);
77          assertLine(81, 1, 1, 3);
78      }
79  
80      @Test
81      void switchStatementWithExitInAllCases() {
82          tested.switchStatementWithExitInAllCases(1);
83          tested.switchStatementWithExitInAllCases(2);
84  
85          assertLines(85, 91, 3);
86          assertLine(85, 1, 1, 2);
87          assertLine(87, 1, 1, 1);
88          assertLine(89, 1, 1, 1);
89          assertLine(91, 1, 0, 0);
90      }
91  
92      @Test
93      void switchOnString() {
94          tested.switchOnString("A", true);
95          tested.switchOnString("M", false);
96  
97          assertLines(96, 100, 3);
98          assertLine(96, 1, 1, 2);
99          assertLine(100, 1, 1, 1);
100     }
101 }