1 package integrationTests.loops;
2
3 import static java.util.Arrays.asList;
4
5 import static org.junit.jupiter.api.Assertions.assertEquals;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 import org.junit.jupiter.api.Disabled;
11 import org.junit.jupiter.api.Test;
12
13 import integrationTests.CoverageTest;
14
15 class ForStatementsTest extends CoverageTest {
16 ForStatements tested;
17
18 @Test
19 void forInSeparateLines() {
20 tested.forInSeparateLines();
21 tested.forInSeparateLines();
22
23 assertLines(9, 12, 3);
24 assertLine(9, 2, 2, 6);
25 assertLine(10, 1, 1, 4);
26 assertLine(12, 1, 1, 2);
27 }
28
29 @Test
30 void forInSingleLine() {
31 tested.forInSingleLine(1);
32 tested.forInSingleLine(2);
33
34 assertLines(15, 18, 2);
35 assertLine(16, 2, 2, 3);
36 assertLine(18, 1, 1, 2);
37 }
38
39 @Test
40 void forEachArrayElement() {
41 int sum = tested.forEachArrayElement(1, 2, 3);
42 assertEquals(6, sum);
43
44 assertLines(21, 28, 4);
45 assertLine(21, 1, 1, 1);
46 assertLine(23, 2, 2, 4);
47 assertLine(24, 1, 1, 3);
48 assertLine(27, 1, 1, 1);
49 }
50
51 @Test
52 void forEachCollectionElement() {
53 String result = tested.forEachCollectionElement(asList("a", "b", "c"));
54 assertEquals("abc", result);
55
56 assertLines(31, 38, 5);
57 assertLine(31, 1, 1, 1);
58 assertLine(33, 2, 2, 1);
59 assertLine(34, 1, 1, 3);
60 assertLine(37, 1, 1, 1);
61 }
62
63 @Test
64 void forUsingIterator() {
65 List<? extends Number> numbers = new ArrayList<Number>(asList(1, 0L, 2.0));
66 tested.forUsingIterator(numbers);
67
68 assertLines(41, 48, 6);
69 assertLine(41, 2, 2, 1);
70 assertLine(42, 1, 1, 3);
71 assertLine(44, 3, 3, 3);
72 assertLine(45, 1, 1, 1);
73 assertLine(48, 1, 1, 1);
74 }
75
76 @Disabled("for issue #254")
77 @Test
78 void forWithNestedIfWhichReturns() {
79 tested.forWithNestedIfWhichReturns(2, 1, 2, 3);
80 }
81 }