trackler 2.2.1.137 → 2.2.1.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/diffie-hellman/canonical-data.json +72 -0
  4. data/problem-specifications/exercises/yacht/description.md +2 -2
  5. data/tracks/csharp/exercises/sgf-parsing/Example.cs +1 -1
  6. data/tracks/csharp/exercises/sgf-parsing/SgfParsingTest.cs +1 -1
  7. data/tracks/csharp/exercises/sublist/SublistTest.cs +37 -78
  8. data/tracks/csharp/generators/Exercises/Sublist.cs +32 -0
  9. data/tracks/elisp/exercises/bob/README.md +2 -0
  10. data/tracks/elisp/exercises/bob/bob-test.el +60 -15
  11. data/tracks/elisp/exercises/bob/example.el +15 -5
  12. data/tracks/elisp/exercises/hamming/hamming-test.el +1 -1
  13. data/tracks/fsharp/build.ps1 +3 -3
  14. data/tracks/fsharp/build.sh +3 -3
  15. data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +5 -1
  16. data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifierTest.fs +5 -1
  17. data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +1 -1
  18. data/tracks/fsharp/exercises/pov/PovTest.fs +6 -1
  19. data/tracks/fsharp/exercises/react/Example.fs +2 -2
  20. data/tracks/fsharp/exercises/react/React.fsproj +1 -0
  21. data/tracks/fsharp/exercises/react/ReactTest.fs +55 -33
  22. data/tracks/fsharp/exercises/series/Example.fs +2 -12
  23. data/tracks/fsharp/exercises/series/SeriesTest.fs +33 -56
  24. data/tracks/fsharp/generators/Generators.fs +81 -46
  25. data/tracks/idris/exercises/rna-transcription/src/{example.idr → Example.idr} +0 -0
  26. data/tracks/java/config.json +14 -0
  27. data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +10 -10
  28. data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +39 -39
  29. data/tracks/java/exercises/grep/.meta/hints.md +58 -0
  30. data/tracks/java/exercises/grep/.meta/src/reference/java/GrepTool.java +65 -0
  31. data/tracks/java/exercises/grep/.meta/version +1 -0
  32. data/tracks/java/exercises/grep/README.md +145 -0
  33. data/tracks/java/exercises/grep/build.gradle +18 -0
  34. data/tracks/java/exercises/grep/src/main/java/.keep +0 -0
  35. data/tracks/java/exercises/grep/src/test/java/GrepToolTest.java +395 -0
  36. data/tracks/java/exercises/largest-series-product/src/test/java/LargestSeriesProductCalculatorTest.java +36 -36
  37. data/tracks/java/exercises/minesweeper/src/test/java/MinesweeperBoardTest.java +36 -36
  38. data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +14 -14
  39. data/tracks/java/exercises/poker/src/test/java/PokerTest.java +40 -40
  40. data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +10 -10
  41. data/tracks/java/exercises/settings.gradle +1 -0
  42. data/tracks/ocaml/exercises/anagram/example.ml +1 -1
  43. data/tracks/ocaml/exercises/change/example.ml +1 -1
  44. data/tracks/ocaml/exercises/custom-set/example.ml +4 -3
  45. data/tracks/ocaml/exercises/custom-set/test.ml +0 -1
  46. data/tracks/ocaml/exercises/dominoes/test.ml +1 -1
  47. data/tracks/ocaml/exercises/etl/example.ml +1 -1
  48. data/tracks/ocaml/exercises/grade-school/example.ml +1 -1
  49. data/tracks/ocaml/exercises/palindrome-products/example.ml +2 -2
  50. data/tracks/ocaml/exercises/prime-factors/example.ml +1 -1
  51. data/tracks/ocaml/exercises/robot-name/test.ml +1 -1
  52. data/tracks/ocaml/exercises/triangle/example.ml +1 -1
  53. data/tracks/ocaml/make-exercise.sh +1 -0
  54. data/tracks/ocaml/tools/test-generator/src/controller.ml +1 -1
  55. data/tracks/perl5/exercises/raindrops/.meta/solutions/Raindrops.pm +13 -12
  56. data/tracks/perl5/exercises/raindrops/raindrops.t +166 -111
  57. data/tracks/perl6/docs/INSTALLATION.md +1 -3
  58. data/tracks/perl6/exercises/raindrops/.meta/exercise-data.yaml +5 -5
  59. data/tracks/perl6/exercises/raindrops/.meta/solutions/Raindrops.pm6 +2 -2
  60. data/tracks/perl6/exercises/raindrops/Raindrops.pm6 +2 -2
  61. data/tracks/perl6/exercises/raindrops/raindrops.t +3 -3
  62. data/tracks/python/exercises/food-chain/example.py +11 -2
  63. data/tracks/python/exercises/food-chain/food_chain_test.py +48 -45
  64. data/tracks/python/exercises/pov/pov_test.py +12 -1
  65. data/tracks/python/exercises/series/README.md +6 -6
  66. data/tracks/python/exercises/series/example.py +2 -3
  67. data/tracks/python/exercises/series/series_test.py +27 -28
  68. data/tracks/python/exercises/sgf-parsing/example.py +1 -1
  69. data/tracks/python/exercises/sgf-parsing/sgf_parsing_test.py +1 -1
  70. data/tracks/python/exercises/yacht/README.md +2 -2
  71. data/tracks/ruby/Gemfile +0 -1
  72. data/tracks/ruby/README.md +23 -0
  73. data/tracks/ruby/bin/generate +1 -0
  74. data/tracks/ruby/exercises/complex-numbers/complex_numbers_test.rb +1 -1
  75. data/tracks/ruby/lib/generator.rb +1 -2
  76. data/tracks/ruby/lib/generator/command_line.rb +3 -0
  77. data/tracks/ruby/lib/generator/command_line/generator_optparser.rb +1 -0
  78. data/tracks/ruby/lib/generator/exercise.rb +2 -0
  79. data/tracks/ruby/lib/generator/exercise_case.rb +3 -0
  80. data/tracks/ruby/lib/generator/files.rb +1 -0
  81. data/tracks/ruby/lib/generator/files/metadata_files.rb +2 -0
  82. data/tracks/ruby/lib/generator/files/track_files.rb +1 -0
  83. data/tracks/ruby/lib/generator/implementation.rb +1 -0
  84. data/tracks/ruby/lib/generator/repository.rb +3 -0
  85. data/tracks/ruby/lib/generator/template_values.rb +1 -0
  86. data/tracks/ruby/test/generator/case_values_test.rb +2 -0
  87. data/tracks/ruby/test/generator/command_line_test.rb +1 -0
  88. data/tracks/ruby/test/generator/files/metadata_files_test.rb +2 -0
  89. data/tracks/ruby/test/generator/files/track_files_test.rb +1 -0
  90. data/tracks/ruby/test/generator/implementation_test.rb +1 -0
  91. data/tracks/ruby/test/tasks/exercise_test.rb +1 -0
  92. data/tracks/ruby/test/tasks/exercise_test_tasks_test.rb +2 -0
  93. data/tracks/ruby/test/test_helper.rb +1 -3
  94. data/tracks/rust/config.json +12 -0
  95. data/tracks/rust/exercises/atbash-cipher/src/lib.rs +9 -0
  96. data/tracks/rust/exercises/hamming/src/lib.rs +6 -0
  97. data/tracks/rust/exercises/isogram/src/lib.rs +3 -0
  98. data/tracks/rust/exercises/luhn/src/lib.rs +4 -0
  99. data/tracks/rust/exercises/palindrome-products/.meta/test-in-release-mode +1 -0
  100. data/tracks/rust/exercises/palindrome-products/Cargo.toml +6 -0
  101. data/tracks/rust/exercises/palindrome-products/README.md +72 -0
  102. data/tracks/rust/exercises/palindrome-products/example.rs +25 -0
  103. data/tracks/rust/exercises/palindrome-products/src/lib.rs +22 -0
  104. data/tracks/rust/exercises/palindrome-products/tests/palindrome-products.rs +57 -0
  105. data/tracks/rust/exercises/pangram/src/lib.rs +4 -0
  106. data/tracks/rust/exercises/run-length-encoding/src/lib.rs +7 -0
  107. data/tracks/rust/exercises/say/src/lib.rs +3 -4
  108. data/tracks/rust/exercises/scrabble-score/src/lib.rs +4 -0
  109. data/tracks/rust/exercises/word-count/src/lib.rs +6 -0
  110. data/tracks/scheme/exercises/hello-world/example.scm +1 -4
  111. data/tracks/scheme/exercises/hello-world/hello-world-test.scm +1 -5
  112. data/tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm +2 -2
  113. data/tracks/typescript/config.json +30 -0
  114. data/tracks/typescript/exercises/queen-attack/README.md +59 -0
  115. data/tracks/typescript/exercises/queen-attack/package.json +36 -0
  116. data/tracks/typescript/exercises/queen-attack/queen-attack.example.ts +56 -0
  117. data/tracks/typescript/exercises/queen-attack/queen-attack.test.ts +71 -0
  118. data/tracks/typescript/exercises/queen-attack/queen-attack.ts +0 -0
  119. data/tracks/typescript/exercises/queen-attack/tsconfig.json +22 -0
  120. data/tracks/typescript/exercises/queen-attack/tslint.json +127 -0
  121. data/tracks/typescript/exercises/queen-attack/yarn.lock +2624 -0
  122. data/tracks/typescript/exercises/spiral-matrix/README.md +56 -0
  123. data/tracks/typescript/exercises/spiral-matrix/package.json +36 -0
  124. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.example.ts +33 -0
  125. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.test.ts +49 -0
  126. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.ts +0 -0
  127. data/tracks/typescript/exercises/spiral-matrix/tsconfig.json +22 -0
  128. data/tracks/typescript/exercises/spiral-matrix/tslint.json +127 -0
  129. data/tracks/typescript/exercises/spiral-matrix/yarn.lock +2624 -0
  130. metadata +35 -3
@@ -11,9 +11,9 @@ public class MinesweeperBoardTest {
11
11
 
12
12
  @Test
13
13
  public void testInputBoardWithNoRowsAndNoColumns() {
14
- final List<String> inputBoard = Collections.emptyList();
15
- final List<String> expectedNumberedBoard = Collections.emptyList();
16
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
14
+ List<String> inputBoard = Collections.emptyList();
15
+ List<String> expectedNumberedBoard = Collections.emptyList();
16
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
17
17
 
18
18
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
19
19
  }
@@ -21,9 +21,9 @@ public class MinesweeperBoardTest {
21
21
  @Ignore("Remove to run test")
22
22
  @Test
23
23
  public void testInputBoardWithOneRowAndNoColumns() {
24
- final List<String> inputBoard = Collections.singletonList("");
25
- final List<String> expectedNumberedBoard = Collections.singletonList("");
26
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
24
+ List<String> inputBoard = Collections.singletonList("");
25
+ List<String> expectedNumberedBoard = Collections.singletonList("");
26
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
27
27
 
28
28
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
29
29
  }
@@ -31,19 +31,19 @@ public class MinesweeperBoardTest {
31
31
  @Ignore("Remove to run test")
32
32
  @Test
33
33
  public void testInputBoardWithNoMines() {
34
- final List<String> inputBoard = Arrays.asList(
34
+ List<String> inputBoard = Arrays.asList(
35
35
  " ",
36
36
  " ",
37
37
  " "
38
38
  );
39
39
 
40
- final List<String> expectedNumberedBoard = Arrays.asList(
40
+ List<String> expectedNumberedBoard = Arrays.asList(
41
41
  " ",
42
42
  " ",
43
43
  " "
44
44
  );
45
45
 
46
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
46
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
47
47
 
48
48
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
49
49
  }
@@ -51,19 +51,19 @@ public class MinesweeperBoardTest {
51
51
  @Ignore("Remove to run test")
52
52
  @Test
53
53
  public void testInputBoardWithOnlyMines() {
54
- final List<String> inputBoard = Arrays.asList(
54
+ List<String> inputBoard = Arrays.asList(
55
55
  "***",
56
56
  "***",
57
57
  "***"
58
58
  );
59
59
 
60
- final List<String> expectedNumberedBoard = Arrays.asList(
60
+ List<String> expectedNumberedBoard = Arrays.asList(
61
61
  "***",
62
62
  "***",
63
63
  "***"
64
64
  );
65
65
 
66
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
66
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
67
67
 
68
68
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
69
69
  }
@@ -71,19 +71,19 @@ public class MinesweeperBoardTest {
71
71
  @Ignore("Remove to run test")
72
72
  @Test
73
73
  public void testInputBoardWithSingleMineAtCenter() {
74
- final List<String> inputBoard = Arrays.asList(
74
+ List<String> inputBoard = Arrays.asList(
75
75
  " ",
76
76
  " * ",
77
77
  " "
78
78
  );
79
79
 
80
- final List<String> expectedNumberedBoard = Arrays.asList(
80
+ List<String> expectedNumberedBoard = Arrays.asList(
81
81
  "111",
82
82
  "1*1",
83
83
  "111"
84
84
  );
85
85
 
86
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
86
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
87
87
 
88
88
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
89
89
  }
@@ -91,19 +91,19 @@ public class MinesweeperBoardTest {
91
91
  @Ignore("Remove to run test")
92
92
  @Test
93
93
  public void testInputBoardWithMinesAroundPerimeter() {
94
- final List<String> inputBoard = Arrays.asList(
94
+ List<String> inputBoard = Arrays.asList(
95
95
  "***",
96
96
  "* *",
97
97
  "***"
98
98
  );
99
99
 
100
- final List<String> expectedNumberedBoard = Arrays.asList(
100
+ List<String> expectedNumberedBoard = Arrays.asList(
101
101
  "***",
102
102
  "*8*",
103
103
  "***"
104
104
  );
105
105
 
106
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
106
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
107
107
 
108
108
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
109
109
  }
@@ -111,15 +111,15 @@ public class MinesweeperBoardTest {
111
111
  @Ignore("Remove to run test")
112
112
  @Test
113
113
  public void testInputBoardWithSingleRowAndTwoMines() {
114
- final List<String> inputBoard = Collections.singletonList(
114
+ List<String> inputBoard = Collections.singletonList(
115
115
  " * * "
116
116
  );
117
117
 
118
- final List<String> expectedNumberedBoard = Collections.singletonList(
118
+ List<String> expectedNumberedBoard = Collections.singletonList(
119
119
  "1*2*1"
120
120
  );
121
121
 
122
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
122
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
123
123
 
124
124
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
125
125
  }
@@ -127,15 +127,15 @@ public class MinesweeperBoardTest {
127
127
  @Ignore("Remove to run test")
128
128
  @Test
129
129
  public void testInputBoardWithSingleRowAndTwoMinesAtEdges() {
130
- final List<String> inputBoard = Collections.singletonList(
130
+ List<String> inputBoard = Collections.singletonList(
131
131
  "* *"
132
132
  );
133
133
 
134
- final List<String> expectedNumberedBoard = Collections.singletonList(
134
+ List<String> expectedNumberedBoard = Collections.singletonList(
135
135
  "*1 1*"
136
136
  );
137
137
 
138
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
138
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
139
139
 
140
140
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
141
141
  }
@@ -143,7 +143,7 @@ public class MinesweeperBoardTest {
143
143
  @Ignore("Remove to run test")
144
144
  @Test
145
145
  public void testInputBoardWithSingleColumnAndTwoMines() {
146
- final List<String> inputBoard = Arrays.asList(
146
+ List<String> inputBoard = Arrays.asList(
147
147
  " ",
148
148
  "*",
149
149
  " ",
@@ -151,7 +151,7 @@ public class MinesweeperBoardTest {
151
151
  " "
152
152
  );
153
153
 
154
- final List<String> expectedNumberedBoard = Arrays.asList(
154
+ List<String> expectedNumberedBoard = Arrays.asList(
155
155
  "1",
156
156
  "*",
157
157
  "2",
@@ -159,7 +159,7 @@ public class MinesweeperBoardTest {
159
159
  "1"
160
160
  );
161
161
 
162
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
162
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
163
163
 
164
164
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
165
165
  }
@@ -167,7 +167,7 @@ public class MinesweeperBoardTest {
167
167
  @Ignore("Remove to run test")
168
168
  @Test
169
169
  public void testInputBoardWithSingleColumnAndTwoMinesAtEdges() {
170
- final List<String> inputBoard = Arrays.asList(
170
+ List<String> inputBoard = Arrays.asList(
171
171
  "*",
172
172
  " ",
173
173
  " ",
@@ -175,7 +175,7 @@ public class MinesweeperBoardTest {
175
175
  "*"
176
176
  );
177
177
 
178
- final List<String> expectedNumberedBoard = Arrays.asList(
178
+ List<String> expectedNumberedBoard = Arrays.asList(
179
179
  "*",
180
180
  "1",
181
181
  " ",
@@ -183,7 +183,7 @@ public class MinesweeperBoardTest {
183
183
  "*"
184
184
  );
185
185
 
186
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
186
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
187
187
 
188
188
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
189
189
  }
@@ -191,7 +191,7 @@ public class MinesweeperBoardTest {
191
191
  @Ignore("Remove to run test")
192
192
  @Test
193
193
  public void testInputBoardWithMinesInCross() {
194
- final List<String> inputBoard = Arrays.asList(
194
+ List<String> inputBoard = Arrays.asList(
195
195
  " * ",
196
196
  " * ",
197
197
  "*****",
@@ -199,7 +199,7 @@ public class MinesweeperBoardTest {
199
199
  " * "
200
200
  );
201
201
 
202
- final List<String> expectedNumberedBoard = Arrays.asList(
202
+ List<String> expectedNumberedBoard = Arrays.asList(
203
203
  " 2*2 ",
204
204
  "25*52",
205
205
  "*****",
@@ -207,7 +207,7 @@ public class MinesweeperBoardTest {
207
207
  " 2*2 "
208
208
  );
209
209
 
210
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
210
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
211
211
 
212
212
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
213
213
  }
@@ -215,7 +215,7 @@ public class MinesweeperBoardTest {
215
215
  @Ignore("Remove to run test")
216
216
  @Test
217
217
  public void testLargeInputBoard() {
218
- final List<String> inputBoard = Arrays.asList(
218
+ List<String> inputBoard = Arrays.asList(
219
219
  " * * ",
220
220
  " * ",
221
221
  " * ",
@@ -224,7 +224,7 @@ public class MinesweeperBoardTest {
224
224
  " "
225
225
  );
226
226
 
227
- final List<String> expectedNumberedBoard = Arrays.asList(
227
+ List<String> expectedNumberedBoard = Arrays.asList(
228
228
  "1*22*1",
229
229
  "12*322",
230
230
  " 123*2",
@@ -233,7 +233,7 @@ public class MinesweeperBoardTest {
233
233
  "111111"
234
234
  );
235
235
 
236
- final List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
236
+ List<String> actualNumberedBoard = new MinesweeperBoard(inputBoard).withNumbers();
237
237
 
238
238
  assertEquals(expectedNumberedBoard, actualNumberedBoard);
239
239
  }
@@ -6,12 +6,12 @@ import org.junit.rules.ExpectedException;
6
6
  import static org.junit.Assert.assertEquals;
7
7
 
8
8
  public class PhoneNumberTest {
9
- private final static String wrongLengthExceptionMessage = "Number must be 10 or 11 digits";
10
- private final static String numberIs11DigitsButDoesNotStartWith1ExceptionMessage =
9
+ private static String wrongLengthExceptionMessage = "Number must be 10 or 11 digits";
10
+ private static String numberIs11DigitsButDoesNotStartWith1ExceptionMessage =
11
11
  "Can only have 11 digits if number starts with '1'";
12
- private final static String illegalCharacterExceptionMessage =
12
+ private static String illegalCharacterExceptionMessage =
13
13
  "Illegal character in phone number. Only digits, spaces, parentheses, hyphens or dots accepted.";
14
- private final static String illegalAreaOrExchangeCodeMessage =
14
+ private static String illegalAreaOrExchangeCodeMessage =
15
15
  "Illegal Area Or Exchange Code. Only 2-9 are valid digits";
16
16
 
17
17
  @Rule
@@ -19,8 +19,8 @@ public class PhoneNumberTest {
19
19
 
20
20
  @Test
21
21
  public void cleansTheNumber() {
22
- final String expectedNumber = "2234567890";
23
- final String actualNumber = new PhoneNumber("(223) 456-7890").getNumber();
22
+ String expectedNumber = "2234567890";
23
+ String actualNumber = new PhoneNumber("(223) 456-7890").getNumber();
24
24
 
25
25
  assertEquals(
26
26
  expectedNumber, actualNumber
@@ -30,8 +30,8 @@ public class PhoneNumberTest {
30
30
  @Ignore("Remove to run test")
31
31
  @Test
32
32
  public void cleansNumbersWithDots() {
33
- final String expectedNumber = "2234567890";
34
- final String actualNumber = new PhoneNumber("223.456.7890").getNumber();
33
+ String expectedNumber = "2234567890";
34
+ String actualNumber = new PhoneNumber("223.456.7890").getNumber();
35
35
 
36
36
  assertEquals(
37
37
  expectedNumber, actualNumber
@@ -41,8 +41,8 @@ public class PhoneNumberTest {
41
41
  @Ignore("Remove to run test")
42
42
  @Test
43
43
  public void cleansNumbersWithMultipleSpaces() {
44
- final String expectedNumber = "2234567890";
45
- final String actualNumber = new PhoneNumber("223 456 7890 ").getNumber();
44
+ String expectedNumber = "2234567890";
45
+ String actualNumber = new PhoneNumber("223 456 7890 ").getNumber();
46
46
 
47
47
  assertEquals(
48
48
  expectedNumber, actualNumber
@@ -68,8 +68,8 @@ public class PhoneNumberTest {
68
68
  @Ignore("Remove to run test")
69
69
  @Test
70
70
  public void validWhen11DigitsAndStartingWith1() {
71
- final String expectedNumber = "2234567890";
72
- final String actualNumber = new PhoneNumber("12234567890").getNumber();
71
+ String expectedNumber = "2234567890";
72
+ String actualNumber = new PhoneNumber("12234567890").getNumber();
73
73
 
74
74
  assertEquals(
75
75
  expectedNumber, actualNumber
@@ -79,8 +79,8 @@ public class PhoneNumberTest {
79
79
  @Ignore("Remove to run test")
80
80
  @Test
81
81
  public void validWhen11DigitsAndStartingWith1EvenWithPunctuation() {
82
- final String expectedNumber = "2234567890";
83
- final String actualNumber = new PhoneNumber("+1 (223) 456-7890").getNumber();
82
+ String expectedNumber = "2234567890";
83
+ String actualNumber = new PhoneNumber("+1 (223) 456-7890").getNumber();
84
84
 
85
85
  assertEquals(
86
86
  expectedNumber, actualNumber
@@ -8,156 +8,156 @@ import static org.junit.Assert.assertEquals;
8
8
  public class PokerTest {
9
9
  @Test
10
10
  public void oneHand() {
11
- final String hand = "4S 5S 7H 8D JC";
11
+ String hand = "4S 5S 7H 8D JC";
12
12
  assertEquals(Arrays.asList(hand), new Poker(Arrays.asList(hand)).getBestHands());
13
13
  }
14
14
 
15
15
  @Ignore("Remove to run test")
16
16
  @Test
17
17
  public void nothingVsOnePair() {
18
- final String nothing = "4S 5H 6S 8D JH";
19
- final String pairOf4 = "2S 4H 6S 4D JH";
18
+ String nothing = "4S 5H 6S 8D JH";
19
+ String pairOf4 = "2S 4H 6S 4D JH";
20
20
  assertEquals(Arrays.asList(pairOf4), new Poker(Arrays.asList(nothing, pairOf4)).getBestHands());
21
21
  }
22
22
 
23
23
  @Ignore("Remove to run test")
24
24
  @Test
25
25
  public void twoPairs() {
26
- final String pairOf2 = "4S 2H 6S 2D JH";
27
- final String pairOf4 = "2S 4H 6S 4D JH";
26
+ String pairOf2 = "4S 2H 6S 2D JH";
27
+ String pairOf4 = "2S 4H 6S 4D JH";
28
28
  assertEquals(Arrays.asList(pairOf4), new Poker(Arrays.asList(pairOf2, pairOf4)).getBestHands());
29
29
  }
30
30
 
31
31
  @Ignore("Remove to run test")
32
32
  @Test
33
33
  public void onePairVsDoublePair() {
34
- final String pairOf8 = "2S 8H 6S 8D JH";
35
- final String doublePair = "4S 5H 4S 8D 5H";
34
+ String pairOf8 = "2S 8H 6S 8D JH";
35
+ String doublePair = "4S 5H 4S 8D 5H";
36
36
  assertEquals(Arrays.asList(doublePair), new Poker(Arrays.asList(pairOf8, doublePair)).getBestHands());
37
37
  }
38
38
 
39
39
  @Ignore("Remove to run test")
40
40
  @Test
41
41
  public void twoDoublePairs() {
42
- final String doublePair2And8 = "2S 8H 2S 8D JH";
43
- final String doublePair4And5 = "4S 5H 4S 8D 5H";
42
+ String doublePair2And8 = "2S 8H 2S 8D JH";
43
+ String doublePair4And5 = "4S 5H 4S 8D 5H";
44
44
  assertEquals(Arrays.asList(doublePair2And8), new Poker(Arrays.asList(doublePair2And8, doublePair4And5)).getBestHands());
45
45
  }
46
46
 
47
47
  @Ignore("Remove to run test")
48
48
  @Test
49
49
  public void doublePairVsThree() {
50
- final String doublePair2And8 = "2S 8H 2S 8D JH";
51
- final String threeOf4 = "4S 5H 4S 8D 4H";
50
+ String doublePair2And8 = "2S 8H 2S 8D JH";
51
+ String threeOf4 = "4S 5H 4S 8D 4H";
52
52
  assertEquals(Arrays.asList(threeOf4), new Poker(Arrays.asList(doublePair2And8, threeOf4)).getBestHands());
53
53
  }
54
54
 
55
55
  @Ignore("Remove to run test")
56
56
  @Test
57
57
  public void twoThrees() {
58
- final String threeOf2 = "2S 2H 2S 8D JH";
59
- final String threeOf1 = "4S AH AS 8D AH";
58
+ String threeOf2 = "2S 2H 2S 8D JH";
59
+ String threeOf1 = "4S AH AS 8D AH";
60
60
  assertEquals(Arrays.asList(threeOf1), new Poker(Arrays.asList(threeOf2, threeOf1)).getBestHands());
61
61
  }
62
62
 
63
63
  @Ignore("Remove to run test")
64
64
  @Test
65
65
  public void threeVsStraight() {
66
- final String threeOf4 = "4S 5H 4S 8D 4H";
67
- final String straight = "3S 4H 2S 6D 5H";
66
+ String threeOf4 = "4S 5H 4S 8D 4H";
67
+ String straight = "3S 4H 2S 6D 5H";
68
68
  assertEquals(Arrays.asList(straight), new Poker(Arrays.asList(threeOf4, straight)).getBestHands());
69
69
  }
70
70
 
71
71
  @Ignore("Remove to run test")
72
72
  @Test
73
73
  public void twoStraights() {
74
- final String straightTo8 = "4S 6H 7S 8D 5H";
75
- final String straightTo9 = "5S 7H 8S 9D 6H";
74
+ String straightTo8 = "4S 6H 7S 8D 5H";
75
+ String straightTo9 = "5S 7H 8S 9D 6H";
76
76
  assertEquals(Arrays.asList(straightTo9), new Poker(Arrays.asList(straightTo8, straightTo9)).getBestHands());
77
77
 
78
- final String straightTo1 = "AS QH KS TD JH";
79
- final String straightTo5 = "4S AH 3S 2D 5H";
78
+ String straightTo1 = "AS QH KS TD JH";
79
+ String straightTo5 = "4S AH 3S 2D 5H";
80
80
  assertEquals(Arrays.asList(straightTo1), new Poker(Arrays.asList(straightTo1, straightTo5)).getBestHands());
81
81
  }
82
82
 
83
83
  @Ignore("Remove to run test")
84
84
  @Test
85
85
  public void straightVsFlush() {
86
- final String straightTo8 = "4S 6H 7S 8D 5H";
87
- final String flushTo7 = "2S 4S 5S 6S 7S";
86
+ String straightTo8 = "4S 6H 7S 8D 5H";
87
+ String flushTo7 = "2S 4S 5S 6S 7S";
88
88
  assertEquals(Arrays.asList(flushTo7), new Poker(Arrays.asList(straightTo8, flushTo7)).getBestHands());
89
89
  }
90
90
 
91
91
  @Ignore("Remove to run test")
92
92
  @Test
93
93
  public void twoFlushes() {
94
- final String flushTo8 = "3H 6H 7H 8H 5H";
95
- final String flushTo7 = "2S 4S 5S 6S 7S";
94
+ String flushTo8 = "3H 6H 7H 8H 5H";
95
+ String flushTo7 = "2S 4S 5S 6S 7S";
96
96
  assertEquals(Arrays.asList(flushTo8), new Poker(Arrays.asList(flushTo8, flushTo7)).getBestHands());
97
97
  }
98
98
 
99
99
  @Ignore("Remove to run test")
100
100
  @Test
101
101
  public void flushVsFull() {
102
- final String flushTo8 = "3H 6H 7H 8H 5H";
103
- final String full = "4S 5H 4S 5D 4H";
102
+ String flushTo8 = "3H 6H 7H 8H 5H";
103
+ String full = "4S 5H 4S 5D 4H";
104
104
  assertEquals(Arrays.asList(full), new Poker(Arrays.asList(full, flushTo8)).getBestHands());
105
105
  }
106
106
 
107
107
  @Ignore("Remove to run test")
108
108
  @Test
109
109
  public void twoFulls() {
110
- final String fullOf4By9 = "4H 4S 4D 9S 9D";
111
- final String fullOf5By8 = "5H 5S 5D 8S 8D";
110
+ String fullOf4By9 = "4H 4S 4D 9S 9D";
111
+ String fullOf5By8 = "5H 5S 5D 8S 8D";
112
112
  assertEquals(Arrays.asList(fullOf5By8), new Poker(Arrays.asList(fullOf4By9, fullOf5By8)).getBestHands());
113
113
  }
114
114
 
115
115
  @Ignore("Remove to run test")
116
116
  @Test
117
117
  public void fullVsSquare() {
118
- final String full = "4S 5H 4S 5D 4H";
119
- final String squareOf3 = "3S 3H 2S 3D 3H";
118
+ String full = "4S 5H 4S 5D 4H";
119
+ String squareOf3 = "3S 3H 2S 3D 3H";
120
120
  assertEquals(Arrays.asList(squareOf3), new Poker(Arrays.asList(full, squareOf3)).getBestHands());
121
121
  }
122
122
 
123
123
  @Ignore("Remove to run test")
124
124
  @Test
125
125
  public void twoSquares() {
126
- final String squareOf2 = "2S 2H 2S 8D 2H";
127
- final String squareOf5 = "4S 5H 5S 5D 5H";
126
+ String squareOf2 = "2S 2H 2S 8D 2H";
127
+ String squareOf5 = "4S 5H 5S 5D 5H";
128
128
  assertEquals(Arrays.asList(squareOf5), new Poker(Arrays.asList(squareOf2, squareOf5)).getBestHands());
129
129
  }
130
130
 
131
131
  @Ignore("Remove to run test")
132
132
  @Test
133
133
  public void squareVsStraightFlush() {
134
- final String squareOf5 = "4S 5H 5S 5D 5H";
135
- final String straightFlushTo9 = "5S 7S 8S 9S 6S";
134
+ String squareOf5 = "4S 5H 5S 5D 5H";
135
+ String straightFlushTo9 = "5S 7S 8S 9S 6S";
136
136
  assertEquals(Arrays.asList(straightFlushTo9), new Poker(Arrays.asList(squareOf5, straightFlushTo9)).getBestHands());
137
137
  }
138
138
 
139
139
  @Ignore("Remove to run test")
140
140
  @Test
141
141
  public void twoStraightFlushes() {
142
- final String straightFlushTo8 = "4H 6H 7H 8H 5H";
143
- final String straightFlushTo9 = "5S 7S 8S 9S 6S";
142
+ String straightFlushTo8 = "4H 6H 7H 8H 5H";
143
+ String straightFlushTo9 = "5S 7S 8S 9S 6S";
144
144
  assertEquals(Arrays.asList(straightFlushTo9), new Poker(Arrays.asList(straightFlushTo8, straightFlushTo9)).getBestHands());
145
145
  }
146
146
 
147
147
  @Ignore("Remove to run test")
148
148
  @Test
149
149
  public void threeHandWithTie() {
150
- final String spadeStraightTo9 = "9S 8S 7S 6S 5S";
151
- final String diamondStraightTo9 = "9D 8D 7D 6D 5D";
152
- final String threeOf4 = "4D 4S 4H QS KS";
150
+ String spadeStraightTo9 = "9S 8S 7S 6S 5S";
151
+ String diamondStraightTo9 = "9D 8D 7D 6D 5D";
152
+ String threeOf4 = "4D 4S 4H QS KS";
153
153
  assertEquals(Arrays.asList(spadeStraightTo9, diamondStraightTo9), new Poker(Arrays.asList(spadeStraightTo9, diamondStraightTo9, threeOf4)).getBestHands());
154
154
  }
155
155
 
156
156
  @Ignore("Remove to run test")
157
157
  @Test
158
158
  public void straightTo5AgainstAPairOfJacks() {
159
- final String straightTo5 = "2S 4D 5C 3S AS";
160
- final String twoJacks = "JD 8D 7D JC 5D";
159
+ String straightTo5 = "2S 4D 5C 3S AS";
160
+ String twoJacks = "JD 8D 7D JC 5D";
161
161
  assertEquals(Arrays.asList(straightTo5), new Poker(Arrays.asList(straightTo5, twoJacks)).getBestHands());
162
162
  }
163
163
  }