Parcourir la source

Merge remote-tracking branch 'upstream/master'

Souvatzis Vasilios il y a 9 ans
Parent
révision
485f345f02

exercises/difference-of-squares/src/example/java/Difference.java → exercises/difference-of-squares/src/example/java/DifferenceOfSquaresCalculator.java Voir le fichier

@@ -1,19 +1,19 @@
1 1
 import java.util.stream.IntStream;
2 2
 
3
-public final class Difference {
3
+public final class DifferenceOfSquaresCalculator {
4 4
 
5
-    public static int computeSquareOfSumTo(final int input) {
5
+    public int computeSquareOfSumTo(final int input) {
6 6
         final int sum = input * (input + 1) / 2;
7 7
         return (int) Math.pow(sum, 2);
8 8
     }
9 9
 
10
-    public static int computeSumOfSquaresTo(final int input) {
10
+    public int computeSumOfSquaresTo(final int input) {
11 11
         return IntStream.rangeClosed(1, input)
12 12
                 .map(i -> (int) Math.pow(i, 2))
13 13
                 .sum();
14 14
     }
15 15
 
16
-    public static int betweenSquareOfSumAndSumOfSquaresTo(final int input) {
16
+    public int computeDifferenceOfSquares(final int input) {
17 17
         return computeSquareOfSumTo(input) - computeSumOfSquaresTo(input);
18 18
     }
19 19
 

+ 0
- 5
exercises/difference-of-squares/src/main/java/Difference.java Voir le fichier

@@ -1,5 +0,0 @@
1
-public final class Difference {
2
-    
3
-
4
-
5
-}

+ 5
- 0
exercises/difference-of-squares/src/main/java/DifferenceOfSquaresCalculator.java Voir le fichier

@@ -0,0 +1,5 @@
1
+public final class DifferenceOfSquaresCalculator {
2
+    
3
+
4
+
5
+}

exercises/difference-of-squares/src/test/java/DifferenceTest.java → exercises/difference-of-squares/src/test/java/DifferenceOfSquaresCalculatorTest.java Voir le fichier

@@ -1,14 +1,21 @@
1
+import org.junit.Before;
1 2
 import org.junit.Ignore;
2 3
 import org.junit.Test;
3 4
 
4 5
 import static org.junit.Assert.assertEquals;
5 6
 
6
-public final class DifferenceTest {
7
+public final class DifferenceOfSquaresCalculatorTest {
8
+    private DifferenceOfSquaresCalculator calculator;
9
+
10
+    @Before
11
+    public void setUp() {
12
+        calculator = new DifferenceOfSquaresCalculator();
13
+    }
7 14
 
8 15
     @Test
9 16
     public void testSquareOfSum5() {
10 17
         final int expected = 225;
11
-        final int actual = Difference.computeSquareOfSumTo(5);
18
+        final int actual = calculator.computeSquareOfSumTo(5);
12 19
         assertEquals(expected, actual);
13 20
     }
14 21
 
@@ -16,7 +23,7 @@ public final class DifferenceTest {
16 23
     @Test
17 24
     public void testSquareOfSum10() {
18 25
         final int expected = 3025;
19
-        final int actual = Difference.computeSquareOfSumTo(10);
26
+        final int actual = calculator.computeSquareOfSumTo(10);
20 27
         assertEquals(expected, actual);
21 28
     }
22 29
 
@@ -24,7 +31,7 @@ public final class DifferenceTest {
24 31
     @Test
25 32
     public void testSquareOfSum100() {
26 33
         final int expected = 25502500;
27
-        final int actual = Difference.computeSquareOfSumTo(100);
34
+        final int actual = calculator.computeSquareOfSumTo(100);
28 35
         assertEquals(expected, actual);
29 36
     }
30 37
 
@@ -32,7 +39,7 @@ public final class DifferenceTest {
32 39
     @Test
33 40
     public void testSumOfSquares5() {
34 41
         final int expected = 55;
35
-        final int actual = Difference.computeSumOfSquaresTo(5);
42
+        final int actual = calculator.computeSumOfSquaresTo(5);
36 43
         assertEquals(expected, actual);
37 44
     }
38 45
 
@@ -40,7 +47,7 @@ public final class DifferenceTest {
40 47
     @Test
41 48
     public void testSumOfSquares10() {
42 49
         final int expected = 385;
43
-        final int actual = Difference.computeSumOfSquaresTo(10);
50
+        final int actual = calculator.computeSumOfSquaresTo(10);
44 51
         assertEquals(expected, actual);
45 52
     }
46 53
 
@@ -48,7 +55,7 @@ public final class DifferenceTest {
48 55
     @Test
49 56
     public void testSumOfSquares100() {
50 57
         final int expected = 338350;
51
-        final int actual = Difference.computeSumOfSquaresTo(100);
58
+        final int actual = calculator.computeSumOfSquaresTo(100);
52 59
         assertEquals(expected, actual);
53 60
     }
54 61
 
@@ -56,7 +63,7 @@ public final class DifferenceTest {
56 63
     @Test
57 64
     public void testDifferenceOfSquares0() {
58 65
         final int expected = 0;
59
-        final int actual = Difference.betweenSquareOfSumAndSumOfSquaresTo(0);
66
+        final int actual = calculator.computeDifferenceOfSquares(0);
60 67
         assertEquals(expected, actual);
61 68
     }
62 69
 
@@ -64,7 +71,7 @@ public final class DifferenceTest {
64 71
     @Test
65 72
     public void testDifferenceOfSquares5() {
66 73
         final int expected = 170;
67
-        final int actual = Difference.betweenSquareOfSumAndSumOfSquaresTo(5);
74
+        final int actual = calculator.computeDifferenceOfSquares(5);
68 75
         assertEquals(expected, actual);
69 76
     }
70 77
 
@@ -72,7 +79,7 @@ public final class DifferenceTest {
72 79
     @Test
73 80
     public void testDifferenceOfSquares10() {
74 81
         final int expected = 2640;
75
-        final int actual = Difference.betweenSquareOfSumAndSumOfSquaresTo(10);
82
+        final int actual = calculator.computeDifferenceOfSquares(10);
76 83
         assertEquals(expected, actual);
77 84
     }
78 85
 
@@ -80,7 +87,7 @@ public final class DifferenceTest {
80 87
     @Test
81 88
     public void testDifferenceOfSquares100() {
82 89
         final int expected = 25164150;
83
-        final int actual = Difference.betweenSquareOfSumAndSumOfSquaresTo(100);
90
+        final int actual = calculator.computeDifferenceOfSquares(100);
84 91
         assertEquals(expected, actual);
85 92
     }
86 93
 

+ 2
- 1
exercises/sieve/src/test/java/SieveTest.java Voir le fichier

@@ -2,6 +2,7 @@ import org.junit.Test;
2 2
 import org.junit.Ignore;
3 3
 
4 4
 import java.util.Arrays;
5
+import java.util.Collections;
5 6
 import java.util.List;
6 7
 
7 8
 import static org.junit.Assert.assertEquals;
@@ -12,7 +13,7 @@ public class SieveTest {
12 13
     @Test
13 14
     public void findFirstPrime() {
14 15
         Sieve sieve = new Sieve(2);
15
-        List<Integer> expectedOutput = Arrays.asList(new Integer[]{2});
16
+        List<Integer> expectedOutput = Collections.singletonList(2);
16 17
 
17 18
         assertEquals(expectedOutput, sieve.getPrimes());
18 19
     }

+ 17
- 9
exercises/sum-of-multiples/src/example/java/SumOfMultiples.java Voir le fichier

@@ -1,26 +1,34 @@
1 1
 public class SumOfMultiples {
2
-    
3
-    
4
-    public static int sum(int number, int[] set) {
5
-        
2
+    private final int sum;
3
+
4
+    public SumOfMultiples(int number, int[] set) {
5
+        sum = calculateSum(number, set);
6
+    }
7
+
8
+    public int getSum() {
9
+        return sum;
10
+    }
11
+
12
+    private int calculateSum(int number, int[] set) {
13
+
6 14
         int sum = 0;
7 15
         int count = 0;
8
-        
16
+
9 17
         for (int i = 1; i < number; i++) {
10
-            
18
+
11 19
             for (int j = 0; j < set.length; j++) {
12 20
                 if (i % set[j] == 0) {
13 21
                     count++;
14 22
                 }
15 23
             }
16
-            
24
+
17 25
             if (count > 0) {
18 26
                 sum = sum + i;
19 27
                 count = 0;
20 28
             }
21 29
         }
22
-        
30
+
23 31
         return sum;
24 32
     }
25
-    
33
+
26 34
 }

+ 73
- 88
exercises/sum-of-multiples/src/test/java/SumOfMultiplesTest.java Voir le fichier

@@ -1,175 +1,160 @@
1
-import static org.junit.Assert.*;
2
-
3 1
 import org.junit.Ignore;
4 2
 import org.junit.Test;
5 3
 
4
+import static org.junit.Assert.*;
5
+
6 6
 public class SumOfMultiplesTest {
7
-    
8
-    
7
+
9 8
     @Test
10 9
     public void testSumOfMultiplesOf3and4UpToOne() {
11
-        
10
+
12 11
         int[] set = {
13
-            3,
14
-            5
12
+                3,
13
+                5
15 14
         };
16
-        int output = SumOfMultiples.sum(1, set);
15
+        int output = new SumOfMultiples(1, set).getSum();
17 16
         assertEquals(0, output);
18
-        
17
+
19 18
     }
20
-    
21
-    
19
+
22 20
     @Test
23 21
     @Ignore
24 22
     public void testSumOfMultiplesOf3and5UpToFour() {
25
-        
23
+
26 24
         int[] set = {
27
-            3,
28
-            5
25
+                3,
26
+                5
29 27
         };
30
-        int output = SumOfMultiples.sum(4, set);
28
+        int output = new SumOfMultiples(4, set).getSum();
31 29
         assertEquals(3, output);
32
-        
30
+
33 31
     }
34
-    
35
-    
32
+
36 33
     @Test
37 34
     @Ignore
38 35
     public void testSumOfMultiplesOf3and5UpToTen() {
39
-        
36
+
40 37
         int[] set = {
41
-            3,
42
-            5
38
+                3,
39
+                5
43 40
         };
44
-        int output = SumOfMultiples.sum(10, set);
41
+        int output = new SumOfMultiples(10, set).getSum();
45 42
         assertEquals(23, output);
46
-        
43
+
47 44
     }
48
-    
49
-    
45
+
50 46
     @Test
51 47
     @Ignore
52 48
     public void testSumOfMultiplesOf3and5UpToOneHundred() {
53
-        
49
+
54 50
         int[] set = {
55
-            3,
56
-            5
51
+                3,
52
+                5
57 53
         };
58
-        int output = SumOfMultiples.sum(100, set);
54
+        int output = new SumOfMultiples(100, set).getSum();
59 55
         assertEquals(2318, output);
60
-        
56
+
61 57
     }
62
-    
63
-    
58
+
64 59
     @Test
65 60
     @Ignore
66 61
     public void testSumOfMultiplesOf3and5UpToOneThousand() {
67
-        
62
+
68 63
         int[] set = {
69
-            3,
70
-            5
64
+                3,
65
+                5
71 66
         };
72
-        int output = SumOfMultiples.sum(1000, set);
67
+        int output = new SumOfMultiples(1000, set).getSum();
73 68
         assertEquals(233168, output);
74
-        
69
+
75 70
     }
76
-    
77
-    
71
+
78 72
     @Test
79 73
     @Ignore
80 74
     public void testSumOfMultiplesOf7and13and17UpToTwenty() {
81
-        
75
+
82 76
         int[] set = {
83
-            7,
84
-            13,
85
-            17
77
+                7,
78
+                13,
79
+                17
86 80
         };
87
-        int output = SumOfMultiples.sum(20, set);
81
+        int output = new SumOfMultiples(20, set).getSum();
88 82
         assertEquals(51, output);
89
-        
83
+
90 84
     }
91
-    
92
-    
85
+
93 86
     @Test
94 87
     @Ignore
95 88
     public void testSumOfMultiplesOf4and6UpToFifteen() {
96
-        
89
+
97 90
         int[] set = {
98
-            4,
99
-            6
91
+                4,
92
+                6
100 93
         };
101
-        int output = SumOfMultiples.sum(15, set);
94
+        int output = new SumOfMultiples(15, set).getSum();
102 95
         assertEquals(30, output);
103
-        
96
+
104 97
     }
105
-    
106
-    
98
+
107 99
     @Test
108 100
     @Ignore
109 101
     public void testSumOfMultiplesOf5and6and8UpToOneHundredFifty() {
110
-        
102
+
111 103
         int[] set = {
112
-            5,
113
-            6,
114
-            8
104
+                5,
105
+                6,
106
+                8
115 107
         };
116
-        int output = SumOfMultiples.sum(150, set);
108
+        int output = new SumOfMultiples(150, set).getSum();
117 109
         assertEquals(4419, output);
118
-        
110
+
119 111
     }
120
-    
121
-    
112
+
122 113
     @Test
123 114
     @Ignore
124 115
     public void testSumOfMultiplesOf5and25UpToTwoHundredSeventyFive() {
125
-        
116
+
126 117
         int[] set = {
127
-            5,
128
-            25
118
+                5,
119
+                25
129 120
         };
130
-        int output = SumOfMultiples.sum(51, set);
121
+        int output = new SumOfMultiples(51, set).getSum();
131 122
         assertEquals(275, output);
132
-        
123
+
133 124
     }
134
-    
135
-    
125
+
136 126
     @Test
137 127
     @Ignore
138 128
     public void testSumOfMultiplesOf43and47UpToTenThousand() {
139
-        
129
+
140 130
         int[] set = {
141
-            43,
142
-            47
131
+                43,
132
+                47
143 133
         };
144
-        int output = SumOfMultiples.sum(10000, set);
134
+        int output = new SumOfMultiples(10000, set).getSum();
145 135
         assertEquals(2203160, output);
146
-        
136
+
147 137
     }
148
-    
149
-    
138
+
150 139
     @Test
151 140
     @Ignore
152 141
     public void testSumOfMultiplesOfOneUpToOneHundred() {
153
-        
142
+
154 143
         int[] set = {
155
-            1
144
+                1
156 145
         };
157
-        int output = SumOfMultiples.sum(100, set);
146
+        int output = new SumOfMultiples(100, set).getSum();
158 147
         assertEquals(4950, output);
159
-        
148
+
160 149
     }
161
-    
162
-    
150
+
163 151
     @Test
164 152
     @Ignore
165 153
     public void testSumOfMultiplesOfNoneUpToTenThousand() {
166
-        
154
+
167 155
         int[] set = {};
168
-        int output = SumOfMultiples.sum(10000, set);
156
+        int output = new SumOfMultiples(10000, set).getSum();
169 157
         assertEquals(0, output);
170
-        
158
+
171 159
     }
172
-    
173
-    
174
-    
175 160
 }