trackler 2.2.1.47 → 2.2.1.48

Sign up to get free protection for your applications and to get access to all the features.
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());