trackler 2.2.1.47 → 2.2.1.48

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 (277) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/pangram/canonical-data.json +3 -3
  4. data/tracks/common-lisp/.travis.yml +2 -9
  5. data/tracks/common-lisp/docs/TESTS.md +43 -9
  6. data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +2 -2
  7. data/tracks/elixir/.travis.yml +4 -7
  8. data/tracks/elixir/README.md +2 -6
  9. data/tracks/elixir/bin/dialyzer_check.sh +2 -13
  10. data/tracks/elixir/exercises/allergies/example.exs +3 -2
  11. data/tracks/elixir/exercises/atbash-cipher/example.exs +5 -5
  12. data/tracks/elixir/exercises/bank-account/example.exs +11 -11
  13. data/tracks/elixir/exercises/bob/example.exs +4 -4
  14. data/tracks/elixir/exercises/forth/example.exs +66 -48
  15. data/tracks/elixir/exercises/minesweeper/example.exs +31 -18
  16. data/tracks/elixir/exercises/pangram/example.exs +4 -4
  17. data/tracks/elixir/exercises/queen-attack/queen_attack_test.exs +68 -53
  18. data/tracks/elixir/exercises/say/example.exs +33 -31
  19. data/tracks/elixir/exercises/scrabble-score/example.exs +12 -11
  20. data/tracks/elixir/mix.exs +10 -7
  21. data/tracks/elixir/mix.lock +4 -1
  22. data/tracks/erlang/README.md +2 -0
  23. data/tracks/fsharp/exercises/nth-prime/Example.fs +4 -1
  24. data/tracks/fsharp/exercises/nth-prime/NthPrime.fs +1 -1
  25. data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +12 -32
  26. data/tracks/fsharp/exercises/pangram/PangramTest.fs +3 -3
  27. data/tracks/fsharp/exercises/perfect-numbers/Example.fs +9 -6
  28. data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fs +1 -1
  29. data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +55 -21
  30. data/tracks/fsharp/generators/Generators.fs +18 -0
  31. data/tracks/gnu-apl/config.json +21 -0
  32. data/tracks/gnu-apl/exercises/hamming/README.md +42 -0
  33. data/tracks/gnu-apl/exercises/hamming/hamming-example.apl +5 -0
  34. data/tracks/gnu-apl/exercises/hamming/hamming.tc +75 -0
  35. data/tracks/gnu-apl/exercises/hello-world/README.md +17 -1
  36. data/tracks/gnu-apl/exercises/leap/README.md +33 -0
  37. data/tracks/gnu-apl/exercises/raindrops/README.md +24 -0
  38. data/tracks/gnu-apl/exercises/raindrops/raindrops-example.apl +8 -0
  39. data/tracks/gnu-apl/exercises/raindrops/raindrops.tc +60 -0
  40. data/tracks/gnu-apl/exercises/rna-transcription/README.md +25 -0
  41. data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription-example.apl +7 -0
  42. data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription.tc +41 -0
  43. data/tracks/gnu-apl/test.apl +13 -0
  44. data/tracks/haskell/config.json +9 -0
  45. data/tracks/haskell/exercises/rotational-cipher/README.md +91 -0
  46. data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/package.yaml +16 -0
  47. data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/src/RotationalCipher.hs +9 -0
  48. data/tracks/haskell/exercises/rotational-cipher/package.yaml +20 -0
  49. data/tracks/haskell/exercises/rotational-cipher/src/RotationalCipher.hs +4 -0
  50. data/tracks/haskell/exercises/rotational-cipher/stack.yaml +1 -0
  51. data/tracks/haskell/exercises/rotational-cipher/test/Tests.hs +77 -0
  52. data/tracks/java/config.json +23 -14
  53. data/tracks/java/config/exercise-readme-insert.md +3 -3
  54. data/tracks/java/config/exercise_readme.go.tmpl +3 -0
  55. data/tracks/java/exercises/accumulate/README.md +4 -3
  56. data/tracks/java/exercises/acronym/.meta/{.version → version} +0 -0
  57. data/tracks/java/exercises/acronym/README.md +4 -3
  58. data/tracks/java/exercises/all-your-base/.meta/{.version → version} +0 -0
  59. data/tracks/java/exercises/all-your-base/README.md +4 -3
  60. data/tracks/java/exercises/allergies/README.md +4 -3
  61. data/tracks/java/exercises/anagram/README.md +4 -3
  62. data/tracks/java/exercises/atbash-cipher/README.md +4 -3
  63. data/tracks/java/exercises/bank-account/README.md +6 -3
  64. data/tracks/java/exercises/beer-song/README.md +4 -3
  65. data/tracks/java/exercises/binary-search-tree/.meta/src/reference/java/BinarySearchTree.java +38 -44
  66. data/tracks/java/exercises/binary-search-tree/README.md +4 -3
  67. data/tracks/java/exercises/binary-search-tree/src/main/java/BinarySearchTree.java +35 -0
  68. data/tracks/java/exercises/binary-search-tree/src/test/java/BinarySearchTreeTest.java +46 -40
  69. data/tracks/java/exercises/binary-search/.meta/hints.md +25 -0
  70. data/tracks/java/exercises/binary-search/.meta/src/reference/java/BinarySearch.java +3 -7
  71. data/tracks/java/exercises/binary-search/README.md +33 -3
  72. data/tracks/java/exercises/binary-search/src/test/java/BinarySearchTest.java +11 -11
  73. data/tracks/java/exercises/binary/README.md +4 -3
  74. data/tracks/java/exercises/bob/README.md +4 -3
  75. data/tracks/java/exercises/book-store/README.md +4 -3
  76. data/tracks/java/exercises/bowling/README.md +4 -3
  77. data/tracks/java/exercises/bracket-push/README.md +4 -3
  78. data/tracks/java/exercises/change/.meta/{.version → version} +0 -0
  79. data/tracks/java/exercises/change/README.md +4 -3
  80. data/tracks/java/exercises/circular-buffer/README.md +4 -3
  81. data/tracks/java/exercises/clock/.meta/{.version → version} +0 -0
  82. data/tracks/java/exercises/clock/README.md +6 -3
  83. data/tracks/java/exercises/collatz-conjecture/.meta/{.version → version} +0 -0
  84. data/tracks/java/exercises/collatz-conjecture/README.md +4 -3
  85. data/tracks/java/exercises/complex-numbers/README.md +4 -3
  86. data/tracks/java/exercises/crypto-square/README.md +4 -3
  87. data/tracks/java/exercises/{rna-transcription/.meta/.version → custom-set/.meta/version} +0 -0
  88. data/tracks/java/exercises/custom-set/README.md +4 -3
  89. data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +103 -251
  90. data/tracks/java/exercises/diamond/.meta/{.version → version} +0 -0
  91. data/tracks/java/exercises/diamond/README.md +4 -3
  92. data/tracks/java/exercises/difference-of-squares/.meta/{.version → version} +0 -0
  93. data/tracks/java/exercises/difference-of-squares/README.md +4 -3
  94. data/tracks/java/exercises/etl/README.md +4 -3
  95. data/tracks/java/exercises/flatten-array/.meta/{.version → version} +0 -0
  96. data/tracks/java/exercises/flatten-array/README.md +4 -3
  97. data/tracks/java/exercises/food-chain/README.md +4 -3
  98. data/tracks/java/exercises/forth/.meta/{.version → version} +0 -0
  99. data/tracks/java/exercises/forth/README.md +3 -3
  100. data/tracks/java/exercises/gigasecond/README.md +4 -3
  101. data/tracks/java/exercises/grade-school/README.md +4 -3
  102. data/tracks/java/exercises/hamming/.meta/{.version → version} +0 -0
  103. data/tracks/java/exercises/hamming/README.md +6 -3
  104. data/tracks/java/exercises/hello-world/README.md +6 -3
  105. data/tracks/java/exercises/hexadecimal/README.md +4 -3
  106. data/tracks/java/exercises/house/README.md +4 -3
  107. data/tracks/java/exercises/isogram/README.md +6 -3
  108. data/tracks/java/exercises/kindergarten-garden/README.md +4 -3
  109. data/tracks/java/exercises/largest-series-product/README.md +4 -3
  110. data/tracks/java/exercises/linked-list/README.md +4 -3
  111. data/tracks/java/exercises/list-ops/.meta/{.version → version} +0 -0
  112. data/tracks/java/exercises/list-ops/README.md +6 -3
  113. data/tracks/java/exercises/luhn/README.md +4 -3
  114. data/tracks/java/exercises/matrix/README.md +4 -3
  115. data/tracks/java/exercises/meetup/README.md +4 -3
  116. data/tracks/java/exercises/minesweeper/.meta/{.version → version} +0 -0
  117. data/tracks/java/exercises/minesweeper/README.md +4 -3
  118. data/tracks/java/exercises/nth-prime/README.md +4 -3
  119. data/tracks/java/exercises/nucleotide-count/README.md +4 -3
  120. data/tracks/java/exercises/ocr-numbers/README.md +4 -3
  121. data/tracks/java/exercises/octal/README.md +4 -3
  122. data/tracks/java/exercises/palindrome-products/README.md +4 -3
  123. data/tracks/java/exercises/pangram/.meta/{.version → version} +0 -0
  124. data/tracks/java/exercises/pangram/README.md +4 -3
  125. data/tracks/java/exercises/pascals-triangle/.meta/{.version → version} +0 -0
  126. data/tracks/java/exercises/pascals-triangle/README.md +4 -3
  127. data/tracks/java/exercises/perfect-numbers/.meta/{.version → version} +0 -0
  128. data/tracks/java/exercises/perfect-numbers/README.md +4 -3
  129. data/tracks/java/exercises/phone-number/README.md +4 -3
  130. data/tracks/java/exercises/pig-latin/README.md +4 -3
  131. data/tracks/java/exercises/poker/README.md +4 -3
  132. data/tracks/java/exercises/prime-factors/README.md +4 -3
  133. data/tracks/java/exercises/pythagorean-triplet/README.md +4 -3
  134. data/tracks/java/exercises/queen-attack/README.md +4 -3
  135. data/tracks/java/exercises/raindrops/README.md +4 -3
  136. data/tracks/java/exercises/rectangles/README.md +4 -3
  137. data/tracks/java/exercises/rna-transcription/.meta/version +1 -0
  138. data/tracks/java/exercises/rna-transcription/README.md +4 -3
  139. data/tracks/java/exercises/robot-name/README.md +4 -3
  140. data/tracks/java/exercises/robot-simulator/README.md +4 -3
  141. data/tracks/java/exercises/roman-numerals/README.md +4 -3
  142. data/tracks/java/exercises/rotational-cipher/README.md +4 -3
  143. data/tracks/java/exercises/run-length-encoding/README.md +4 -3
  144. data/tracks/java/exercises/saddle-points/.meta/{.version → version} +0 -0
  145. data/tracks/java/exercises/saddle-points/README.md +4 -3
  146. data/tracks/java/exercises/scrabble-score/.meta/{.version → version} +0 -0
  147. data/tracks/java/exercises/scrabble-score/README.md +4 -3
  148. data/tracks/java/exercises/secret-handshake/README.md +4 -3
  149. data/tracks/java/exercises/series/README.md +4 -3
  150. data/tracks/java/exercises/sieve/README.md +4 -3
  151. data/tracks/java/exercises/simple-cipher/README.md +6 -3
  152. data/tracks/java/exercises/simple-linked-list/README.md +4 -3
  153. data/tracks/java/exercises/space-age/README.md +4 -3
  154. data/tracks/java/exercises/spiral-matrix/.meta/{.version → version} +0 -0
  155. data/tracks/java/exercises/spiral-matrix/README.md +4 -3
  156. data/tracks/java/exercises/strain/README.md +4 -3
  157. data/tracks/java/exercises/sublist/README.md +4 -3
  158. data/tracks/java/exercises/sum-of-multiples/README.md +4 -3
  159. data/tracks/java/exercises/tournament/README.md +4 -3
  160. data/tracks/java/exercises/transpose/README.md +4 -3
  161. data/tracks/java/exercises/triangle/.meta/{.version → version} +0 -0
  162. data/tracks/java/exercises/triangle/README.md +4 -3
  163. data/tracks/java/exercises/trinary/README.md +4 -3
  164. data/tracks/java/exercises/twelve-days/README.md +4 -3
  165. data/tracks/java/exercises/two-fer/README.md +6 -3
  166. data/tracks/java/exercises/word-count/README.md +4 -3
  167. data/tracks/java/exercises/word-search/.meta/{.version → version} +0 -0
  168. data/tracks/java/exercises/word-search/README.md +4 -3
  169. data/tracks/java/exercises/wordy/README.md +4 -3
  170. data/tracks/julia/config.json +13 -0
  171. data/tracks/julia/exercises/phone-number/README.md +36 -0
  172. data/tracks/julia/exercises/phone-number/example.jl +18 -0
  173. data/tracks/julia/exercises/phone-number/phone-number.jl +3 -0
  174. data/tracks/julia/exercises/phone-number/runtests.jl +49 -0
  175. data/tracks/lua/config.json +505 -494
  176. data/tracks/lua/config/maintainers.json +16 -16
  177. data/tracks/lua/exercises/acronym/README.md +0 -1
  178. data/tracks/lua/exercises/all-your-base/README.md +1 -1
  179. data/tracks/lua/exercises/allergies/README.md +0 -1
  180. data/tracks/lua/exercises/alphametics/README.md +2 -2
  181. data/tracks/lua/exercises/atbash-cipher/README.md +2 -1
  182. data/tracks/lua/exercises/beer-song/README.md +1 -1
  183. data/tracks/lua/exercises/binary/README.md +2 -0
  184. data/tracks/lua/exercises/bowling/README.md +20 -6
  185. data/tracks/lua/exercises/change/README.md +1 -1
  186. data/tracks/lua/exercises/circular-buffer/README.md +13 -6
  187. data/tracks/lua/exercises/crypto-square/README.md +4 -4
  188. data/tracks/lua/exercises/diamond/README.md +6 -6
  189. data/tracks/lua/exercises/etl/README.md +2 -0
  190. data/tracks/lua/exercises/flatten-array/README.md +1 -2
  191. data/tracks/lua/exercises/food-chain/README.md +1 -1
  192. data/tracks/lua/exercises/grade-school/README.md +0 -1
  193. data/tracks/lua/exercises/grains/README.md +0 -1
  194. data/tracks/lua/exercises/house/README.md +1 -2
  195. data/tracks/lua/exercises/isogram/README.md +2 -1
  196. data/tracks/lua/exercises/kindergarten-garden/README.md +13 -13
  197. data/tracks/lua/exercises/leap/README.md +1 -1
  198. data/tracks/lua/exercises/linked-list/README.md +10 -10
  199. data/tracks/lua/exercises/luhn/README.md +7 -7
  200. data/tracks/lua/exercises/matrix/README.md +6 -4
  201. data/tracks/lua/exercises/meetup/README.md +1 -2
  202. data/tracks/lua/exercises/nucleotide-count/README.md +8 -22
  203. data/tracks/lua/exercises/ocr-numbers/README.md +5 -5
  204. data/tracks/lua/exercises/octal/README.md +6 -2
  205. data/tracks/lua/exercises/pangram/README.md +1 -1
  206. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  207. data/tracks/lua/exercises/perfect-numbers/README.md +2 -2
  208. data/tracks/lua/exercises/phone-number/README.md +3 -2
  209. data/tracks/lua/exercises/pov/README.md +2 -2
  210. data/tracks/lua/exercises/protein-translation/README.md +4 -5
  211. data/tracks/lua/exercises/pythagorean-triplet/README.md +3 -3
  212. data/tracks/lua/exercises/rail-fence-cipher/README.md +12 -7
  213. data/tracks/lua/exercises/react/README.md +29 -0
  214. data/tracks/lua/exercises/react/example.lua +108 -0
  215. data/tracks/lua/exercises/react/react_spec.lua +160 -0
  216. data/tracks/lua/exercises/rectangles/README.md +7 -7
  217. data/tracks/lua/exercises/roman-numerals/README.md +1 -1
  218. data/tracks/lua/exercises/run-length-encoding/README.md +4 -4
  219. data/tracks/lua/exercises/scrabble-score/README.md +3 -1
  220. data/tracks/lua/exercises/secret-handshake/README.md +1 -1
  221. data/tracks/lua/exercises/space-age/README.md +2 -1
  222. data/tracks/lua/exercises/sum-of-multiples/README.md +0 -3
  223. data/tracks/lua/exercises/tournament/README.md +5 -5
  224. data/tracks/lua/exercises/transpose/README.md +7 -7
  225. data/tracks/lua/exercises/triangle/README.md +9 -6
  226. data/tracks/lua/exercises/variable-length-quantity/README.md +6 -7
  227. data/tracks/lua/exercises/word-count/README.md +1 -2
  228. data/tracks/lua/exercises/word-search/README.md +1 -1
  229. data/tracks/perl6/exercises/leap/Example.pm6 +1 -1
  230. data/tracks/perl6/exercises/leap/Leap.pm6 +1 -1
  231. data/tracks/perl6/exercises/leap/example.yaml +1 -1
  232. data/tracks/perl6/exercises/leap/leap.t +3 -3
  233. data/tracks/php/exercises/transpose/example.php +37 -15
  234. data/tracks/php/exercises/transpose/transpose_test.php +205 -45
  235. data/tracks/purescript/config.json +11 -0
  236. data/tracks/purescript/exercises/collatz-conjecture/README.md +33 -0
  237. data/tracks/purescript/exercises/collatz-conjecture/bower.json +26 -0
  238. data/tracks/purescript/exercises/collatz-conjecture/examples/src/CollatzConjecture.purs +15 -0
  239. data/tracks/purescript/exercises/collatz-conjecture/src/CollatzConjecture.purs +3 -0
  240. data/tracks/purescript/exercises/collatz-conjecture/test/Main.purs +43 -0
  241. data/tracks/python/config.json +10 -2
  242. data/tracks/racket/README.md +38 -33
  243. data/tracks/racket/config.json +10 -0
  244. data/tracks/racket/exercises/collatz-conjecture/README.md +58 -0
  245. data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture-test.rkt +34 -0
  246. data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture.rkt +6 -0
  247. data/tracks/racket/exercises/collatz-conjecture/example.rkt +20 -0
  248. data/tracks/ruby/exercises/allergies/.meta/.version +1 -0
  249. data/tracks/ruby/exercises/allergies/.meta/generator/allergies_case.rb +33 -0
  250. data/tracks/ruby/exercises/allergies/.meta/solutions/allergies.rb +4 -0
  251. data/tracks/ruby/exercises/allergies/allergies_test.rb +42 -9
  252. data/tracks/typescript/config.json +46 -0
  253. data/tracks/typescript/exercises/circular-buffer/README.md +74 -0
  254. data/tracks/typescript/exercises/circular-buffer/circular-buffer.example.ts +51 -0
  255. data/tracks/typescript/exercises/circular-buffer/circular-buffer.test.ts +103 -0
  256. data/tracks/typescript/exercises/circular-buffer/circular-buffer.ts +0 -0
  257. data/tracks/typescript/exercises/circular-buffer/package.json +36 -0
  258. data/tracks/typescript/exercises/circular-buffer/tsconfig.json +22 -0
  259. data/tracks/typescript/exercises/circular-buffer/tslint.json +127 -0
  260. data/tracks/typescript/exercises/circular-buffer/yarn.lock +2305 -0
  261. data/tracks/typescript/exercises/largest-series-product/README.md +51 -0
  262. data/tracks/typescript/exercises/largest-series-product/largest-series-product.example.ts +52 -0
  263. data/tracks/typescript/exercises/largest-series-product/largest-series-product.test.ts +68 -0
  264. data/tracks/typescript/exercises/largest-series-product/largest-series-product.ts +0 -0
  265. data/tracks/typescript/exercises/largest-series-product/package.json +36 -0
  266. data/tracks/typescript/exercises/largest-series-product/tsconfig.json +22 -0
  267. data/tracks/typescript/exercises/largest-series-product/tslint.json +127 -0
  268. data/tracks/typescript/exercises/largest-series-product/yarn.lock +2305 -0
  269. data/tracks/typescript/exercises/robot-simulator/README.md +58 -0
  270. data/tracks/typescript/exercises/robot-simulator/package.json +36 -0
  271. data/tracks/typescript/exercises/robot-simulator/robot-simulator.example.ts +74 -0
  272. data/tracks/typescript/exercises/robot-simulator/robot-simulator.test.ts +150 -0
  273. data/tracks/typescript/exercises/robot-simulator/robot-simulator.ts +0 -0
  274. data/tracks/typescript/exercises/robot-simulator/tsconfig.json +22 -0
  275. data/tracks/typescript/exercises/robot-simulator/tslint.json +127 -0
  276. data/tracks/typescript/exercises/robot-simulator/yarn.lock +2305 -0
  277. metadata +85 -23
@@ -1,264 +1,181 @@
1
+ import org.junit.Ignore;
2
+ import org.junit.Test;
1
3
 
2
4
  import java.util.Arrays;
3
5
  import java.util.Collections;
4
- import static org.junit.Assert.assertFalse;
5
- import static org.junit.Assert.assertNotNull;
6
- import static org.junit.Assert.assertTrue;
7
- import org.junit.Test;
8
- import org.junit.Ignore;
6
+
7
+ import static org.junit.Assert.*;
9
8
 
10
9
  public class CustomSetTest {
11
10
 
12
11
  @Test
13
12
  public void setsWithNoElementsAreEmpty() {
14
- final boolean actual
15
- = new CustomSet<>(Collections.emptyList())
16
- .isEmpty();
17
- assertTrue(actual);
13
+ CustomSet<Integer> customSet = new CustomSet<>(Collections.emptyList());
14
+ assertTrue(customSet.isEmpty());
18
15
  }
19
16
 
20
17
  @Ignore("Remove to run test")
21
18
  @Test
22
19
  public void setsWithElementsAreNotEmpty() {
23
- final boolean actual
24
- = new CustomSet<>(Collections.singletonList(1))
25
- .isEmpty();
26
-
27
- assertFalse(actual);
20
+ CustomSet<Character> customSet = new CustomSet<>(Collections.singletonList('1'));
21
+ assertFalse(customSet.isEmpty());
28
22
  }
29
23
 
30
24
  @Ignore("Remove to run test")
31
25
  @Test
32
26
  public void nothingIsContainedInAnEmptySet() {
33
- final boolean actual
34
- = new CustomSet<>(Collections.emptyList())
35
- .contains(1);
36
-
37
- assertFalse(actual);
27
+ CustomSet<String> customSet = new CustomSet<>(Collections.emptyList());
28
+ assertFalse(customSet.contains("1"));
38
29
  }
39
30
 
40
31
  @Ignore("Remove to run test")
41
32
  @Test
42
33
  public void whenTheElementIsInTheSet() {
43
- final boolean actual
44
- = new CustomSet<>(Arrays.asList(1, 2, 3))
45
- .contains(1);
46
-
47
- assertTrue(actual);
34
+ CustomSet<Integer> customSet = new CustomSet<>(Arrays.asList(1, 2, 3));
35
+ assertTrue(customSet.contains(1));
48
36
  }
49
37
 
50
38
  @Ignore("Remove to run test")
51
39
  @Test
52
40
  public void whenTheElementIsNotInTheSet() {
53
- final boolean actual
54
- = new CustomSet<>(Arrays.asList(1, 2, 3))
55
- .contains(4);
56
-
57
- assertFalse(actual);
41
+ CustomSet<Character> customSet = new CustomSet<>(Arrays.asList('1', '2', '3'));
42
+ assertFalse(customSet.contains('4'));
58
43
  }
59
44
 
60
45
  @Ignore("Remove to run test")
61
46
  @Test
62
47
  public void emptySetIsASubsetOfAnotherEmptySet() {
63
- final boolean actual
64
- = new CustomSet<>(Collections.emptyList())
65
- .isSubset(
66
- new CustomSet<>(Collections.emptyList())
67
- );
68
-
69
- assertTrue(actual);
48
+ CustomSet<String> customSet = new CustomSet<>(Collections.emptyList());
49
+ CustomSet<String> secondCustomSet = new CustomSet<>(Collections.emptyList());
50
+ assertTrue(customSet.isSubset(secondCustomSet));
70
51
  }
71
52
 
72
53
  @Ignore("Remove to run test")
73
54
  @Test
74
55
  public void emptySetIsASubsetOfNonEmptySet() {
75
- final boolean actual
76
- = new CustomSet<>(Collections.singletonList(1))
77
- .isSubset(
78
- new CustomSet<>(Collections.emptyList())
79
- );
80
-
81
- assertTrue(actual);
56
+ CustomSet<Integer> customSet = new CustomSet<>(Collections.singletonList(1));
57
+ CustomSet<Integer> secondCustomSet = new CustomSet<>(Collections.emptyList());
58
+ assertTrue(customSet.isSubset(secondCustomSet));
82
59
  }
83
60
 
84
61
  @Ignore("Remove to run test")
85
62
  @Test
86
63
  public void nonEmptySetIsNotASubsetOfEmptySet() {
87
- final boolean actual
88
- = new CustomSet<>(Collections.emptyList())
89
- .isSubset(
90
- new CustomSet<>(Collections.singletonList(1))
91
- );
92
-
93
- assertFalse(actual);
64
+ CustomSet<Character> customSet = new CustomSet<>(Collections.emptyList());
65
+ CustomSet<Character> secondCustomSet = new CustomSet<>(Collections.singletonList('1'));
66
+ assertFalse(customSet.isSubset(secondCustomSet));
94
67
  }
95
68
 
96
69
  @Ignore("Remove to run test")
97
70
  @Test
98
71
  public void setIsASubsetOfSetWithExactSameElements() {
99
- final boolean actual
100
- = new CustomSet<>(Arrays.asList(1, 2, 3))
101
- .isSubset(
102
- new CustomSet<>(Arrays.asList(1, 2, 3))
103
- );
104
-
105
- assertTrue(actual);
72
+ CustomSet<String> customSet = new CustomSet<>(Arrays.asList("1", "2", "3"));
73
+ CustomSet<String> secondCustomSet = new CustomSet<>(Arrays.asList("1", "2", "3"));
74
+ assertTrue(customSet.isSubset(secondCustomSet));
106
75
  }
107
76
 
108
77
  @Ignore("Remove to run test")
109
78
  @Test
110
79
  public void setIsASubsetOfLargerSetWithSameElements() {
111
- final boolean actual
112
- = new CustomSet<>(Arrays.asList(4, 1, 2, 3))
113
- .isSubset(
114
- new CustomSet<>(Arrays.asList(1, 2, 3))
115
- );
116
-
117
- assertTrue(actual);
80
+ CustomSet<Integer> customSet = new CustomSet<>(Arrays.asList(4, 1, 2, 3));
81
+ CustomSet<Integer> secondCustomSet = new CustomSet<>(Arrays.asList(1, 2, 3));
82
+ assertTrue(customSet.isSubset(secondCustomSet));
118
83
  }
119
84
 
120
85
  @Ignore("Remove to run test")
121
86
  @Test
122
87
  public void setIsNotASubsetOfSetThatDoesNotContainItsElements() {
123
- final boolean actual
124
- = new CustomSet<>(Arrays.asList(4, 1, 3))
125
- .isSubset(
126
- new CustomSet<>(Arrays.asList(1, 2, 3))
127
- );
128
-
129
- assertFalse(actual);
88
+ CustomSet<Character> customSet = new CustomSet<>(Arrays.asList('4', '1', '3'));
89
+ CustomSet<Character> secondCustomSet = new CustomSet<>(Arrays.asList('1', '2', '3'));
90
+ assertFalse(customSet.isSubset(secondCustomSet));
130
91
  }
131
92
 
132
93
  @Ignore("Remove to run test")
133
94
  @Test
134
95
  public void theEmptySetIsDisjointWithItself() {
135
- final boolean actual
136
- = new CustomSet<>(Collections.emptyList())
137
- .isDisjoint(
138
- new CustomSet<>(Collections.emptyList())
139
- );
140
-
141
- assertTrue(actual);
96
+ CustomSet<String> customSet = new CustomSet<>(Collections.emptyList());
97
+ CustomSet<String> secondCustomSet = new CustomSet<>(Collections.emptyList());
98
+ assertTrue(customSet.isDisjoint(secondCustomSet));
142
99
  }
143
100
 
144
101
  @Ignore("Remove to run test")
145
102
  @Test
146
103
  public void emptySetIsDisjointWithNonEmptySet() {
147
- final boolean actual
148
- = new CustomSet<>(Collections.emptyList())
149
- .isDisjoint(
150
- new CustomSet<>(Collections.singletonList(1))
151
- );
152
-
153
- assertTrue(actual);
104
+ CustomSet<Integer> customSet = new CustomSet<>(Collections.emptyList());
105
+ CustomSet<Integer> secondCustomSet = new CustomSet<>(Collections.singletonList(1));
106
+ assertTrue(customSet.isDisjoint(secondCustomSet));
154
107
  }
155
108
 
156
109
  @Ignore("Remove to run test")
157
110
  @Test
158
111
  public void nonEmptySetIsDisjointWithEmptySet() {
159
- final boolean actual
160
- = new CustomSet<>(Collections.singletonList(1))
161
- .isDisjoint(
162
- new CustomSet<>(Collections.emptyList())
163
- );
164
-
165
- assertTrue(actual);
112
+ CustomSet<Character> customSet = new CustomSet<>(Collections.singletonList('1'));
113
+ CustomSet<Character> secondCustomSet = new CustomSet<>(Collections.emptyList());
114
+ assertTrue(customSet.isDisjoint(secondCustomSet));
166
115
  }
167
116
 
168
117
  @Ignore("Remove to run test")
169
118
  @Test
170
119
  public void setsAreNotDisjointIfTheyShareAnElement() {
171
- final boolean actual
172
- = new CustomSet<>(Arrays.asList(1, 2))
173
- .isDisjoint(
174
- new CustomSet<>(Arrays.asList(2, 3))
175
- );
176
-
177
- assertFalse(actual);
120
+ CustomSet<String> customSet = new CustomSet<>(Arrays.asList("1", "2"));
121
+ CustomSet<String> secondCustomSet = new CustomSet<>(Arrays.asList("2", "3"));
122
+ assertFalse(customSet.isDisjoint(secondCustomSet));
178
123
  }
179
124
 
180
125
  @Ignore("Remove to run test")
181
126
  @Test
182
127
  public void setsAreDisjointIfTheyShareNoElements() {
183
- final boolean actual
184
- = new CustomSet<>(Arrays.asList(1, 2))
185
- .isDisjoint(
186
- new CustomSet<>(Arrays.asList(3, 4))
187
- );
188
-
189
- assertTrue(actual);
128
+ CustomSet<Integer> customSet = new CustomSet<>(Arrays.asList(1, 2));
129
+ CustomSet<Integer> secondCustomSet = new CustomSet<>(Arrays.asList(3, 4));
130
+ assertTrue(customSet.isDisjoint(secondCustomSet));
190
131
  }
191
132
 
192
133
  @Ignore("Remove to run test")
193
134
  @Test
194
135
  public void emptySetsAreEqual() {
195
- final boolean actual
196
- = new CustomSet<>(Collections.emptyList())
197
- .equals(
198
- new CustomSet<>(Collections.emptyList())
199
- );
200
-
201
- assertTrue(actual);
136
+ CustomSet<Character> customSet = new CustomSet<>(Collections.emptyList());
137
+ CustomSet<Character> secondCustomSet = new CustomSet<>(Collections.emptyList());
138
+ assertTrue(customSet.equals(secondCustomSet));
202
139
  }
203
140
 
204
141
  @Ignore("Remove to run test")
205
142
  @Test
206
143
  public void emptySetIsNotEqualToNonEmptySet() {
207
- final boolean actual
208
- = new CustomSet<>(Collections.emptyList())
209
- .equals(
210
- new CustomSet<>(Arrays.asList(1, 2, 3))
211
- );
212
-
213
- assertFalse(actual);
144
+ CustomSet<String> customSet = new CustomSet<>(Collections.emptyList());
145
+ CustomSet<String> secondCustomSet = new CustomSet<>(Arrays.asList("1", "2", "3"));
146
+ assertFalse(customSet.equals(secondCustomSet));
214
147
  }
215
148
 
216
149
  @Ignore("Remove to run test")
217
150
  @Test
218
151
  public void nonEmptySetIsNotEqualToEmptySet() {
219
- final boolean actual
220
- = new CustomSet<>(Arrays.asList(1, 2, 3))
221
- .equals(
222
- new CustomSet<>(Collections.emptyList())
223
- );
224
-
225
- assertFalse(actual);
152
+ CustomSet<Integer> customSet = new CustomSet<>(Arrays.asList(1, 2, 3));
153
+ CustomSet<Integer> secondCustomSet = new CustomSet<>(Collections.emptyList());
154
+ assertFalse(customSet.equals(secondCustomSet));
226
155
  }
227
156
 
228
157
  @Ignore("Remove to run test")
229
158
  @Test
230
159
  public void setsWithTheSameElementsAreEqual() {
231
- final boolean actual
232
- = new CustomSet<>(Arrays.asList(1, 2))
233
- .equals(
234
- new CustomSet<>(Arrays.asList(2, 1))
235
- );
236
-
237
- assertTrue(actual);
160
+ CustomSet<Character> customSet = new CustomSet<>(Arrays.asList('1', '2'));
161
+ CustomSet<Character> secondCustomSet = new CustomSet<>(Arrays.asList('2', '1'));
162
+ assertTrue(customSet.equals(secondCustomSet));
238
163
  }
239
164
 
240
165
  @Ignore("Remove to run test")
241
166
  @Test
242
167
  public void setsWithDifferentElementsAreNotEqual() {
243
- final boolean actual
244
- = new CustomSet<>(Arrays.asList(1, 2, 3))
245
- .equals(
246
- new CustomSet<>(Arrays.asList(1, 2, 4))
247
- );
248
-
249
- assertFalse(actual);
168
+ CustomSet<String> customSet = new CustomSet<>(Arrays.asList("1", "2", "3"));
169
+ CustomSet<String> secondCustomSet = new CustomSet<>(Arrays.asList("1", "2", "4"));
170
+ assertFalse(customSet.equals(secondCustomSet));
250
171
  }
251
172
 
252
173
  @Ignore("Remove to run test")
253
174
  @Test
254
175
  public void addToEmptySet() {
255
- final int element = 3;
256
- final CustomSet<Integer> expected
257
- = new CustomSet<>(
258
- Collections.unmodifiableList(Collections.singletonList(element))
259
- );
260
- final CustomSet<Integer> actual
261
- = new CustomSet<>(Collections.emptyList());
176
+ int element = 3;
177
+ CustomSet<Integer> expected = new CustomSet<>(Collections.unmodifiableList(Collections.singletonList(element)));
178
+ CustomSet<Integer> actual = new CustomSet<>(Collections.emptyList());
262
179
 
263
180
  actual.add(element);
264
181
 
@@ -270,13 +187,9 @@ public class CustomSetTest {
270
187
  @Ignore("Remove to run test")
271
188
  @Test
272
189
  public void addToNonEmptySet() {
273
- final int element = 3;
274
- final CustomSet<Integer> expected
275
- = new CustomSet<>(
276
- Collections.unmodifiableList(Arrays.asList(1, 2, 3, 4))
277
- );
278
- final CustomSet<Integer> actual
279
- = new CustomSet<>(Arrays.asList(1, 2, 4));
190
+ char element = '3';
191
+ CustomSet<Character> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList('1', '2', '3', '4')));
192
+ CustomSet<Character> actual = new CustomSet<>(Arrays.asList('1', '2', '4'));
280
193
 
281
194
  actual.add(element);
282
195
 
@@ -288,13 +201,9 @@ public class CustomSetTest {
288
201
  @Ignore("Remove to run test")
289
202
  @Test
290
203
  public void addingAnExistingElementDoesNotChangeTheSet() {
291
- final int element = 3;
292
- final CustomSet<Integer> expected
293
- = new CustomSet<>(
294
- Collections.unmodifiableList(Arrays.asList(1, 2, 3))
295
- );
296
- final CustomSet<Integer> actual
297
- = new CustomSet<>(Arrays.asList(1, 2, 3));
204
+ String element = "3";
205
+ CustomSet<String> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList("1", "2", "3")));
206
+ CustomSet<String> actual = new CustomSet<>(Arrays.asList("1", "2", "3"));
298
207
 
299
208
  actual.add(element);
300
209
 
@@ -305,11 +214,8 @@ public class CustomSetTest {
305
214
  @Ignore("Remove to run test")
306
215
  @Test
307
216
  public void intersectionOfTwoEmptySetsIsAnEmptySet() {
308
- final CustomSet<Integer> actual
309
- = new CustomSet<Integer>(Collections.emptyList())
310
- .getIntersection(
311
- new CustomSet<>(Collections.emptyList())
312
- );
217
+ CustomSet<Integer> actual = new CustomSet<Integer>(Collections.emptyList())
218
+ .getIntersection(new CustomSet<>(Collections.emptyList()));
313
219
 
314
220
  assertNotNull(actual);
315
221
  assertTrue(actual.isEmpty());
@@ -318,11 +224,8 @@ public class CustomSetTest {
318
224
  @Ignore("Remove to run test")
319
225
  @Test
320
226
  public void intersectionOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
321
- final CustomSet<Integer> actual
322
- = new CustomSet<Integer>(Collections.emptyList())
323
- .getIntersection(
324
- new CustomSet<>(Arrays.asList(3, 2, 5))
325
- );
227
+ CustomSet<Character> actual = new CustomSet<Character>(Collections.emptyList())
228
+ .getIntersection(new CustomSet<>(Arrays.asList('3', '2', '5')));
326
229
 
327
230
  assertNotNull(actual);
328
231
  assertTrue(actual.isEmpty());
@@ -331,11 +234,8 @@ public class CustomSetTest {
331
234
  @Ignore("Remove to run test")
332
235
  @Test
333
236
  public void intersectionOfANonEmptySetAndAnEmptySetIsAnEmptySet() {
334
- final CustomSet<Integer> actual
335
- = new CustomSet<>(Arrays.asList(1, 2, 3, 4))
336
- .getIntersection(
337
- new CustomSet<>(Collections.emptyList())
338
- );
237
+ CustomSet<String> actual = new CustomSet<>(Arrays.asList("1", "2", "3", "4"))
238
+ .getIntersection(new CustomSet<>(Collections.emptyList()));
339
239
 
340
240
  assertNotNull(actual);
341
241
  assertTrue(actual.isEmpty());
@@ -345,11 +245,8 @@ public class CustomSetTest {
345
245
  @Ignore("Remove to run test")
346
246
  @Test
347
247
  public void intersectionOfTwoSetsWithNoSharedElementsIsAnEmptySet() {
348
- final CustomSet<Integer> actual
349
- = new CustomSet<>(Arrays.asList(1, 2, 3))
350
- .getIntersection(
351
- new CustomSet<>(Arrays.asList(4, 5, 6))
352
- );
248
+ CustomSet<Integer> actual = new CustomSet<>(Arrays.asList(1, 2, 3))
249
+ .getIntersection(new CustomSet<>(Arrays.asList(4, 5, 6)));
353
250
 
354
251
  assertNotNull(actual);
355
252
  assertTrue(actual.isEmpty());
@@ -358,15 +255,9 @@ public class CustomSetTest {
358
255
  @Ignore("Remove to run test")
359
256
  @Test
360
257
  public void intersectionOfTwoSetsWithSharedElementsIsASetOfTheSharedElements() {
361
- final CustomSet<Integer> expected
362
- = new CustomSet<>(
363
- Collections.unmodifiableList(Arrays.asList(2, 3))
364
- );
365
- final CustomSet<Integer> actual
366
- = new CustomSet<>(Arrays.asList(1, 2, 3, 4))
367
- .getIntersection(
368
- new CustomSet<>(Arrays.asList(3, 2, 5))
369
- );
258
+ CustomSet<Character> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList('2', '3')));
259
+ CustomSet<Character> actual = new CustomSet<>(Arrays.asList('1', '2', '3', '4'))
260
+ .getIntersection(new CustomSet<>(Arrays.asList('3', '2', '5')));
370
261
 
371
262
  assertNotNull(actual);
372
263
  assertFalse(actual.isEmpty());
@@ -376,11 +267,8 @@ public class CustomSetTest {
376
267
  @Ignore("Remove to run test")
377
268
  @Test
378
269
  public void differenceOfTwoEmptySetsIsAnEmptySet() {
379
- final CustomSet<Integer> actual
380
- = new CustomSet<Integer>(Collections.emptyList())
381
- .getDifference(
382
- new CustomSet<>(Collections.emptyList())
383
- );
270
+ CustomSet<String> actual = new CustomSet<String>(Collections.emptyList())
271
+ .getDifference(new CustomSet<>(Collections.emptyList()));
384
272
 
385
273
  assertNotNull(actual);
386
274
  assertTrue(actual.isEmpty());
@@ -389,11 +277,8 @@ public class CustomSetTest {
389
277
  @Ignore("Remove to run test")
390
278
  @Test
391
279
  public void differenceOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
392
- final CustomSet<Integer> actual
393
- = new CustomSet<Integer>(Collections.emptyList())
394
- .getDifference(
395
- new CustomSet<>(Arrays.asList(3, 2, 5))
396
- );
280
+ CustomSet<Integer> actual = new CustomSet<Integer>(Collections.emptyList())
281
+ .getDifference(new CustomSet<>(Arrays.asList(3, 2, 5)));
397
282
 
398
283
  assertNotNull(actual);
399
284
  assertTrue(actual.isEmpty());
@@ -402,15 +287,9 @@ public class CustomSetTest {
402
287
  @Ignore("Remove to run test")
403
288
  @Test
404
289
  public void differenceOfANonEmptySetAndAnEmptySetIsTheNonEmptySet() {
405
- final CustomSet<Integer> expected
406
- = new CustomSet<>(
407
- Collections.unmodifiableList(Arrays.asList(1, 2, 3, 4))
408
- );
409
- final CustomSet<Integer> actual
410
- = new CustomSet<>(Arrays.asList(1, 2, 3, 4))
411
- .getDifference(
412
- new CustomSet<>(Collections.emptyList())
413
- );
290
+ CustomSet<Character> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList('1', '2', '3', '4')));
291
+ CustomSet<Character> actual = new CustomSet<>(Arrays.asList('1', '2', '3', '4'))
292
+ .getDifference(new CustomSet<>(Collections.emptyList()));
414
293
 
415
294
  assertNotNull(actual);
416
295
  assertFalse(actual.isEmpty());
@@ -420,15 +299,9 @@ public class CustomSetTest {
420
299
  @Ignore("Remove to run test")
421
300
  @Test
422
301
  public void differenceOfTwoNonEmptySetsIsASetOfElementsThatAreOnlyInTheFirstSet() {
423
- final CustomSet<Integer> expected
424
- = new CustomSet<>(
425
- Collections.unmodifiableList(Arrays.asList(1, 3))
426
- );
427
- final CustomSet<Integer> actual
428
- = new CustomSet<>(Arrays.asList(3, 2, 1))
429
- .getDifference(
430
- new CustomSet<>(Arrays.asList(2, 4))
431
- );
302
+ CustomSet<String> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList("1", "3")));
303
+ CustomSet<String> actual = new CustomSet<>(Arrays.asList("3", "2", "1"))
304
+ .getDifference(new CustomSet<>(Arrays.asList("2", "4")));
432
305
 
433
306
  assertNotNull(actual);
434
307
  assertFalse(actual.isEmpty());
@@ -438,11 +311,8 @@ public class CustomSetTest {
438
311
  @Ignore("Remove to run test")
439
312
  @Test
440
313
  public void unionOfTwoEmptySetsIsAnEmptySet() {
441
- final CustomSet<Integer> actual
442
- = new CustomSet<Integer>(Collections.emptyList())
443
- .getUnion(
444
- new CustomSet<>(Collections.emptyList())
445
- );
314
+ CustomSet<Integer> actual = new CustomSet<Integer>(Collections.emptyList())
315
+ .getUnion(new CustomSet<>(Collections.emptyList()));
446
316
 
447
317
  assertNotNull(actual);
448
318
  assertTrue(actual.isEmpty());
@@ -451,15 +321,9 @@ public class CustomSetTest {
451
321
  @Ignore("Remove to run test")
452
322
  @Test
453
323
  public void unionOfAnEmptySetAndNonEmptySetIsTheNonEmptySet() {
454
- final CustomSet<Integer> expected
455
- = new CustomSet<>(
456
- Collections.unmodifiableList(Collections.singletonList(2))
457
- );
458
- final CustomSet<Integer> actual
459
- = new CustomSet<Integer>(Collections.emptyList())
460
- .getUnion(
461
- new CustomSet<>(Collections.singletonList(2))
462
- );
324
+ CustomSet<Character> expected = new CustomSet<>(Collections.unmodifiableList(Collections.singletonList('2')));
325
+ CustomSet<Character> actual = new CustomSet<Character>(Collections.emptyList())
326
+ .getUnion(new CustomSet<>(Collections.singletonList('2')));
463
327
 
464
328
  assertNotNull(actual);
465
329
  assertFalse(actual.isEmpty());
@@ -469,15 +333,9 @@ public class CustomSetTest {
469
333
  @Ignore("Remove to run test")
470
334
  @Test
471
335
  public void unionOfANonEmptySetAndAnEmptySetIsTheNonEmptySet() {
472
- final CustomSet<Integer> expected
473
- = new CustomSet<>(
474
- Collections.unmodifiableList(Arrays.asList(1, 3))
475
- );
476
- final CustomSet<Integer> actual
477
- = new CustomSet<>(Arrays.asList(1, 3))
478
- .getUnion(
479
- new CustomSet<>(Collections.emptyList())
480
- );
336
+ CustomSet<String> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList("1", "3")));
337
+ CustomSet<String> actual = new CustomSet<>(Arrays.asList("1", "3"))
338
+ .getUnion(new CustomSet<>(Collections.emptyList()));
481
339
 
482
340
  assertNotNull(actual);
483
341
  assertFalse(actual.isEmpty());
@@ -487,15 +345,9 @@ public class CustomSetTest {
487
345
  @Ignore("Remove to run test")
488
346
  @Test
489
347
  public void unionOfTwoNonEmptySetsContainsAllUniqueElements() {
490
- final CustomSet<Integer> expected
491
- = new CustomSet<>(
492
- Collections.unmodifiableList(Arrays.asList(3, 2, 1))
493
- );
494
- final CustomSet<Integer> actual
495
- = new CustomSet<>(Arrays.asList(1, 3))
496
- .getUnion(
497
- new CustomSet<>(Arrays.asList(2, 3))
498
- );
348
+ CustomSet<Integer> expected = new CustomSet<>(Collections.unmodifiableList(Arrays.asList(3, 2, 1)));
349
+ CustomSet<Integer> actual = new CustomSet<>(Arrays.asList(1, 3))
350
+ .getUnion(new CustomSet<>(Arrays.asList(2, 3)));
499
351
 
500
352
  assertNotNull(actual);
501
353
  assertFalse(actual.isEmpty());