trackler 2.2.1.115 → 2.2.1.116

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/yacht/canonical-data.json +251 -0
  4. data/problem-specifications/exercises/yacht/description.md +34 -0
  5. data/problem-specifications/exercises/yacht/metadata.yml +5 -0
  6. data/tracks/c/docs/C_STYLE_GUIDE.md +4 -4
  7. data/tracks/csharp/config.json +1 -1
  8. data/tracks/dart/.travis.yml +2 -4
  9. data/tracks/dart/CONTRIBUTING.md +2 -6
  10. data/tracks/dart/bin/check_formatting.dart +17 -0
  11. data/tracks/dart/bin/presubmit.dart +20 -0
  12. data/tracks/dart/config.json +1 -1
  13. data/tracks/dart/exercises/hamming/lib/example.dart +1 -1
  14. data/tracks/dart/exercises/hamming/test/hamming_test.dart +33 -20
  15. data/tracks/dart/exercises/word-count/pubspec.yaml +1 -1
  16. data/tracks/dart/exercises/word-count/test/word_count_test.dart +30 -20
  17. data/tracks/dart/lib/src/utils.dart +58 -0
  18. data/tracks/dart/pubspec.yaml +1 -0
  19. data/tracks/python/.github/stale.yml +1 -0
  20. data/tracks/scala/config.json +2 -2
  21. data/tracks/scala/exercises/space-age/src/test/scala/SpaceAgeTest.scala +2 -2
  22. data/tracks/scala/exercises/spiral-matrix/src/test/scala/SpiralMatrixTest.scala +20 -25
  23. data/tracks/scala/exercises/sublist/src/test/scala/SublistTest.scala +27 -19
  24. data/tracks/scala/exercises/sum-of-multiples/src/test/scala/SumOfMultiplesTest.scala +15 -15
  25. data/tracks/scala/testgen/src/main/scala/SpaceAgeTestGenerator.scala +9 -8
  26. data/tracks/scala/testgen/src/main/scala/SpiralMatrixTestGenerator.scala +2 -4
  27. data/tracks/scala/testgen/src/main/scala/SublistTestGenerator.scala +3 -3
  28. data/tracks/scala/testgen/src/main/scala/SumOfMultiplesTestGenerator.scala +6 -6
  29. data/tracks/scala/testgen/src/main/scala/testgen/TestSuiteBuilder.scala +8 -0
  30. data/tracks/typescript/config.json +45 -15
  31. data/tracks/typescript/exercises/bracket-push/README.md +36 -0
  32. data/tracks/typescript/exercises/bracket-push/bracket-push.example.ts +50 -0
  33. data/tracks/typescript/exercises/bracket-push/bracket-push.test.ts +73 -0
  34. data/tracks/typescript/exercises/bracket-push/bracket-push.ts +0 -0
  35. data/tracks/typescript/exercises/bracket-push/package.json +36 -0
  36. data/tracks/typescript/exercises/bracket-push/tsconfig.json +22 -0
  37. data/tracks/typescript/exercises/bracket-push/tslint.json +127 -0
  38. data/tracks/typescript/exercises/bracket-push/yarn.lock +2624 -0
  39. data/tracks/typescript/exercises/variable-length-quantity/README.md +64 -0
  40. data/tracks/typescript/exercises/variable-length-quantity/package.json +36 -0
  41. data/tracks/typescript/exercises/variable-length-quantity/tsconfig.json +22 -0
  42. data/tracks/typescript/exercises/variable-length-quantity/tslint.json +127 -0
  43. data/tracks/typescript/exercises/variable-length-quantity/variable-length-quantity.example.ts +55 -0
  44. data/tracks/typescript/exercises/variable-length-quantity/variable-length-quantity.test.ts +115 -0
  45. data/tracks/typescript/exercises/variable-length-quantity/variable-length-quantity.ts +0 -0
  46. data/tracks/typescript/exercises/variable-length-quantity/yarn.lock +2624 -0
  47. metadata +24 -5
  48. data/tracks/dart/bin/check_formatting +0 -9
@@ -1,3 +1,3 @@
1
1
  name: 'word_count'
2
2
  dev_dependencies:
3
- test: '<0.13.0'
3
+ test: '<0.13.0'
@@ -12,53 +12,63 @@ void main() {
12
12
 
13
13
  void simpleTests() {
14
14
  test("count one word", () {
15
- Map<String, int> test = myWordCounter.countWords("word");
16
- expect(test, equals({"word": 1}));
15
+ final Map<String, int> result = myWordCounter.countWords("word");
16
+ expect(result, equals({"word": 1}));
17
17
  }, skip: false);
18
+
18
19
  test("count one of each word", () {
19
- Map<String, int> test = myWordCounter.countWords("one of each");
20
- expect(test, equals({"one": 1, "of": 1, "each": 1}));
20
+ final Map<String, int> result = myWordCounter.countWords("one of each");
21
+ expect(result, equals({"one": 1, "of": 1, "each": 1}));
21
22
  }, skip: true);
23
+
22
24
  test("multiple occurrences of a word", () {
23
- Map<String, int> test = myWordCounter.countWords("one fish two fish red fish blue fish");
24
- expect(test, equals({"one": 1, "fish": 4, "two": 1, "red": 1, "blue": 1}));
25
+ final Map<String, int> result = myWordCounter.countWords("one fish two fish red fish blue fish");
26
+ expect(result, equals({"one": 1, "fish": 4, "two": 1, "red": 1, "blue": 1}));
25
27
  }, skip: true);
26
28
  }
27
29
 
28
30
  void ignoreSpecialCharacters() {
29
31
  test("handles cramped lists", () {
30
- Map<String, int> test = myWordCounter.countWords("one,two,three");
31
- expect(test, equals({"one": 1, "two": 1, "three": 1}));
32
+ final Map<String, int> result = myWordCounter.countWords("one,two,three");
33
+ expect(result, equals({"one": 1, "two": 1, "three": 1}));
32
34
  }, skip: true);
35
+
33
36
  test("handles expanded lists", () {
34
- Map<String, int> test = myWordCounter.countWords("one,\ntwo,\nthree");
35
- expect(test, equals({"one": 1, "two": 1, "three": 1}));
37
+ final Map<String, int> result = myWordCounter.countWords("one,\ntwo,\nthree");
38
+ expect(result, equals({"one": 1, "two": 1, "three": 1}));
36
39
  }, skip: true);
40
+
37
41
  test("ignore punctuation", () {
38
- Map<String, int> test = myWordCounter.countWords('car: carpet as java: javascript!!&@\$%^&');
39
- expect(test, equals({"car": 1, "carpet": 1, "as": 1, "java": 1, "javascript": 1}));
42
+ final Map<String, int> result = myWordCounter.countWords("car: carpet as java: javascript!!&@\$%^&");
43
+ expect(result, equals({"car": 1, "carpet": 1, "as": 1, "java": 1, "javascript": 1}));
40
44
  }, skip: true);
41
45
 
42
46
  test("with quotations", () {
43
- Map<String, int> test = myWordCounter.countWords("Joe can't tell between 'large' and large.");
44
- expect(test, equals({"joe": 1, "can't": 1, "tell": 1, "between": 1, "large": 2, "and": 1}));
47
+ final Map<String, int> result = myWordCounter.countWords("Joe can't tell between 'large' and large.");
48
+ expect(result, equals({"joe": 1, "can't": 1, "tell": 1, "between": 1, "large": 2, "and": 1}));
45
49
  }, skip: true);
46
50
  }
47
51
 
48
52
  void notJustWords() {
49
53
  test("include numbers", () {
50
- Map<String, int> test = myWordCounter.countWords("testing, 1, 2 testing");
51
- expect(test, equals({"testing": 2, "1": 1, "2": 1}));
54
+ final Map<String, int> result = myWordCounter.countWords("testing, 1, 2 testing");
55
+ expect(result, equals({"testing": 2, "1": 1, "2": 1}));
52
56
  }, skip: true);
53
57
  }
54
58
 
55
59
  void edgeCases() {
56
60
  test("normalize case", () {
57
- Map<String, int> test = myWordCounter.countWords("go Go GO Stop stop");
58
- expect(test, equals({"go": 3, "stop": 2}));
61
+ final Map<String, int> result = myWordCounter.countWords("go Go GO Stop stop");
62
+ expect(result, equals({"go": 3, "stop": 2}));
59
63
  }, skip: true);
64
+
60
65
  test("with apostrophes", () {
61
- Map<String, int> test = myWordCounter.countWords("First: don't laugh. Then: don't cry.");
62
- expect(test, equals({"first": 1, "don't": 2, "laugh": 1, "then": 1, "cry": 1}));
66
+ final Map<String, int> result = myWordCounter.countWords("First: don't laugh. Then: don't cry.");
67
+ expect(result, equals({"first": 1, "don't": 2, "laugh": 1, "then": 1, "cry": 1}));
68
+ }, skip: true);
69
+
70
+ test("multiple spaces not detected as a word", () {
71
+ final Map<String, int> result = myWordCounter.countWords(" multiple whitespaces");
72
+ expect(result, equals({"multiple": 1, "whitespaces": 1}));
63
73
  }, skip: true);
64
74
  }
@@ -0,0 +1,58 @@
1
+ import 'dart:async';
2
+ import 'dart:io';
3
+ import 'package:io/io.dart';
4
+
5
+ class CommonUtils {
6
+ ProcessManager _manager;
7
+
8
+ CommonUtils() {
9
+ this._manager = new ProcessManager();
10
+ }
11
+
12
+ /// Fetches the configlet file if it doesn't exist already, and returns the
13
+ /// exit code.
14
+ int fetchConfiglet() {
15
+ File configletFile = new File('bin/configlet');
16
+
17
+ if (!configletFile.existsSync()) {
18
+ print('Fetching configlet...');
19
+ return _exit(Process.runSync('bin/fetch-configlet', []).exitCode);
20
+ }
21
+
22
+ return 0;
23
+ }
24
+
25
+ /// Returns a [Future] with the exit code resulting from running the
26
+ /// [executable] with [arguments].
27
+ Future<int> runCmd(String executable, [List<String> arguments = const []]) async {
28
+ Process spawn = await _manager.spawn(executable, arguments);
29
+ return _exit(await spawn.exitCode);
30
+ }
31
+
32
+ /// Returns a [Future] with the exit code resulting from running the
33
+ /// [executable] with [arguments].
34
+ ///
35
+ /// If [executable] isn't executable, returns a [Future] with exit code 1 and
36
+ /// shows an error message.
37
+ Future<int> runCmdIfExecutable(String executable, [List<String> arguments = const []]) async {
38
+ final result = isExecutable(executable);
39
+
40
+ if (result is bool && !result || result is Future && !await result) {
41
+ print('Unable to run "$executable". Make sure that it\'s executable and that you have permissions to run it.');
42
+ return new Future.value(1);
43
+ }
44
+
45
+ return runCmd(executable, arguments);
46
+ }
47
+
48
+ /// Terminates the global `stdin` listener.
49
+ Future<Null> terminate() async {
50
+ await ProcessManager.terminateStdIn();
51
+ }
52
+ }
53
+
54
+ /// Returns [exitCode] and shows an error message if it is different from 0.
55
+ int _exit(int exitCode) {
56
+ if (exitCode != 0) print('Failed. Error code: $exitCode.');
57
+ return exitCode;
58
+ }
@@ -7,5 +7,6 @@ authors:
7
7
  dev_dependencies:
8
8
  args: '^1.0.0'
9
9
  dart_style: '^1.0.8'
10
+ io: '0.3.0'
10
11
  test: '>=0.12.24+8 <0.13.0'
11
12
  yaml: '>=2.1.12 <2.2.0'
@@ -9,6 +9,7 @@ exemptLabels:
9
9
  - epic
10
10
  - enhancement
11
11
  - beginner friendly
12
+ - awaiting review
12
13
  # Label to use when marking an issue as stale
13
14
  staleLabel: abandoned
14
15
  # Comment to post when marking an issue as stale. Set to `false` to disable
@@ -85,7 +85,7 @@
85
85
  {
86
86
  "uuid": "825e94e5-6fc8-4dce-befe-74e1516fae14",
87
87
  "slug": "flatten-array",
88
- "core": true,
88
+ "core": false,
89
89
  "unlocked_by": "accumulate",
90
90
  "difficulty": 2,
91
91
  "topics": [
@@ -97,7 +97,7 @@
97
97
  {
98
98
  "uuid": "65a76aba-a485-222d-84ba-e9a445b25be6",
99
99
  "slug": "collatz-conjecture",
100
- "core": true,
100
+ "core": false,
101
101
  "unlocked_by": "leap",
102
102
  "difficulty": 2,
103
103
  "topics": [
@@ -1,6 +1,6 @@
1
1
  import org.scalatest.{Matchers, FunSuite}
2
2
 
3
- /** @version 1.0.0 */
3
+ /** @version 1.1.0 */
4
4
  class SpaceAgeTest extends FunSuite with Matchers {
5
5
 
6
6
  test("age on Earth") {
@@ -41,4 +41,4 @@ class SpaceAgeTest extends FunSuite with Matchers {
41
41
  pending
42
42
  SpaceAge.onNeptune(8.210123456E9) should be (1.58)
43
43
  }
44
- }
44
+ }
@@ -1,52 +1,47 @@
1
-
2
1
  import org.scalatest.{Matchers, FunSuite}
3
2
 
4
- /** @version 1.0.0 */
3
+ /** @version 1.1.0 */
5
4
  class SpiralMatrixTest extends FunSuite with Matchers {
6
5
 
7
6
  test("empty spiral") {
8
- SpiralMatrix.spiralMatrix(0) should be (
9
- List()
10
- )
7
+ SpiralMatrix.spiralMatrix(0) should be(List())
11
8
  }
12
9
 
13
10
  test("trivial spiral") {
14
11
  pending
15
- SpiralMatrix.spiralMatrix(1) should be (List(
16
- List(1)))
12
+ SpiralMatrix.spiralMatrix(1) should be(List(List(1)))
17
13
  }
18
14
 
19
15
  test("spiral of size 2") {
20
16
  pending
21
- SpiralMatrix.spiralMatrix(2) should be (List(
22
- List(1, 2),
23
- List(4, 3)))
17
+ SpiralMatrix.spiralMatrix(2) should be(List(List(1, 2),
18
+ List(4, 3)))
24
19
  }
25
20
 
26
21
  test("spiral of size 3") {
27
22
  pending
28
- SpiralMatrix.spiralMatrix(3) should be (List(
29
- List(1, 2, 3),
30
- List(8, 9, 4),
31
- List(7, 6, 5)))
23
+ SpiralMatrix.spiralMatrix(3) should be(
24
+ List(List(1, 2, 3),
25
+ List(8, 9, 4),
26
+ List(7, 6, 5)))
32
27
  }
33
28
 
34
29
  test("spiral of size 4") {
35
30
  pending
36
- SpiralMatrix.spiralMatrix(4) should be (List(
37
- List( 1, 2, 3, 4),
38
- List(12, 13, 14, 5),
39
- List(11, 16, 15, 6),
40
- List(10, 9, 8, 7)))
31
+ SpiralMatrix.spiralMatrix(4) should be(
32
+ List(List(1, 2, 3, 4),
33
+ List(12, 13, 14, 5),
34
+ List(11, 16, 15, 6),
35
+ List(10, 9, 8, 7)))
41
36
  }
42
37
 
43
38
  test("spiral of size 5") {
44
39
  pending
45
- SpiralMatrix.spiralMatrix(5) should be (List(
46
- List( 1, 2, 3, 4, 5),
47
- List(16, 17, 18, 19, 6),
48
- List(15, 24, 25, 20, 7),
49
- List(14, 23, 22, 21, 8),
50
- List(13, 12, 11, 10, 9)))
40
+ SpiralMatrix.spiralMatrix(5) should be(
41
+ List(List(1, 2, 3, 4, 5),
42
+ List(16, 17, 18, 19, 6),
43
+ List(15, 24, 25, 20, 7),
44
+ List(14, 23, 22, 21, 8),
45
+ List(13, 12, 11, 10, 9)))
51
46
  }
52
47
  }
@@ -1,89 +1,97 @@
1
1
  import org.scalatest.{Matchers, FunSuite}
2
2
 
3
- /** @version 1.0.0 */
3
+ /** @version 1.1.0 */
4
4
  class SublistTest extends FunSuite with Matchers {
5
5
 
6
6
  test("empty lists") {
7
- Sublist.sublist(List(), List()) should be (Sublist.Equal)
7
+ Sublist.sublist(List(), List()) should be(Sublist.Equal)
8
8
  }
9
9
 
10
10
  test("empty list within non empty list") {
11
11
  pending
12
- Sublist.sublist(List(), List(1, 2, 3)) should be (Sublist.Sublist)
12
+ Sublist.sublist(List(), List(1, 2, 3)) should be(Sublist.Sublist)
13
13
  }
14
14
 
15
15
  test("non empty list contains empty list") {
16
16
  pending
17
- Sublist.sublist(List(1, 2, 3), List()) should be (Sublist.Superlist)
17
+ Sublist.sublist(List(1, 2, 3), List()) should be(Sublist.Superlist)
18
18
  }
19
19
 
20
20
  test("list equals itself") {
21
21
  pending
22
- Sublist.sublist(List(1, 2, 3), List(1, 2, 3)) should be (Sublist.Equal)
22
+ Sublist.sublist(List(1, 2, 3), List(1, 2, 3)) should be(Sublist.Equal)
23
23
  }
24
24
 
25
25
  test("different lists") {
26
26
  pending
27
- Sublist.sublist(List(1, 2, 3), List(2, 3, 4)) should be (Sublist.Unequal)
27
+ Sublist.sublist(List(1, 2, 3), List(2, 3, 4)) should be(Sublist.Unequal)
28
28
  }
29
29
 
30
30
  test("false start") {
31
31
  pending
32
- Sublist.sublist(List(1, 2, 5), List(0, 1, 2, 3, 1, 2, 5, 6)) should be (Sublist.Sublist)
32
+ Sublist.sublist(List(1, 2, 5), List(0, 1, 2, 3, 1, 2, 5, 6)) should be(
33
+ Sublist.Sublist)
33
34
  }
34
35
 
35
36
  test("consecutive") {
36
37
  pending
37
- Sublist.sublist(List(1, 1, 2), List(0, 1, 1, 1, 2, 1, 2)) should be (Sublist.Sublist)
38
+ Sublist.sublist(List(1, 1, 2), List(0, 1, 1, 1, 2, 1, 2)) should be(
39
+ Sublist.Sublist)
38
40
  }
39
41
 
40
42
  test("sublist at start") {
41
43
  pending
42
- Sublist.sublist(List(0, 1, 2), List(0, 1, 2, 3, 4, 5)) should be (Sublist.Sublist)
44
+ Sublist.sublist(List(0, 1, 2), List(0, 1, 2, 3, 4, 5)) should be(
45
+ Sublist.Sublist)
43
46
  }
44
47
 
45
48
  test("sublist in middle") {
46
49
  pending
47
- Sublist.sublist(List(2, 3, 4), List(0, 1, 2, 3, 4, 5)) should be (Sublist.Sublist)
50
+ Sublist.sublist(List(2, 3, 4), List(0, 1, 2, 3, 4, 5)) should be(
51
+ Sublist.Sublist)
48
52
  }
49
53
 
50
54
  test("sublist at end") {
51
55
  pending
52
- Sublist.sublist(List(3, 4, 5), List(0, 1, 2, 3, 4, 5)) should be (Sublist.Sublist)
56
+ Sublist.sublist(List(3, 4, 5), List(0, 1, 2, 3, 4, 5)) should be(
57
+ Sublist.Sublist)
53
58
  }
54
59
 
55
60
  test("at start of superlist") {
56
61
  pending
57
- Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(0, 1, 2)) should be (Sublist.Superlist)
62
+ Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(0, 1, 2)) should be(
63
+ Sublist.Superlist)
58
64
  }
59
65
 
60
66
  test("in middle of superlist") {
61
67
  pending
62
- Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(2, 3)) should be (Sublist.Superlist)
68
+ Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(2, 3)) should be(
69
+ Sublist.Superlist)
63
70
  }
64
71
 
65
72
  test("at end of superlist") {
66
73
  pending
67
- Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(3, 4, 5)) should be (Sublist.Superlist)
74
+ Sublist.sublist(List(0, 1, 2, 3, 4, 5), List(3, 4, 5)) should be(
75
+ Sublist.Superlist)
68
76
  }
69
77
 
70
78
  test("first list missing element from second list") {
71
79
  pending
72
- Sublist.sublist(List(1, 3), List(1, 2, 3)) should be (Sublist.Unequal)
80
+ Sublist.sublist(List(1, 3), List(1, 2, 3)) should be(Sublist.Unequal)
73
81
  }
74
82
 
75
83
  test("second list missing element from first list") {
76
84
  pending
77
- Sublist.sublist(List(1, 2, 3), List(1, 3)) should be (Sublist.Unequal)
85
+ Sublist.sublist(List(1, 2, 3), List(1, 3)) should be(Sublist.Unequal)
78
86
  }
79
87
 
80
88
  test("order matters to a list") {
81
89
  pending
82
- Sublist.sublist(List(1, 2, 3), List(3, 2, 1)) should be (Sublist.Unequal)
90
+ Sublist.sublist(List(1, 2, 3), List(3, 2, 1)) should be(Sublist.Unequal)
83
91
  }
84
92
 
85
93
  test("same digits but different numbers") {
86
94
  pending
87
- Sublist.sublist(List(1, 0, 1), List(10, 1)) should be (Sublist.Unequal)
95
+ Sublist.sublist(List(1, 0, 1), List(10, 1)) should be(Sublist.Unequal)
88
96
  }
89
- }
97
+ }
@@ -1,69 +1,69 @@
1
1
  import org.scalatest.{Matchers, FunSuite}
2
2
 
3
- /** @version 1.1.0 */
3
+ /** @version 1.2.0 */
4
4
  class SumOfMultiplesTest extends FunSuite with Matchers {
5
5
 
6
6
  test("multiples of 3 or 5 up to 1") {
7
- SumOfMultiples.sum(Set(3, 5), 1) should be (0)
7
+ SumOfMultiples.sum(Set(3, 5), 1) should be(0)
8
8
  }
9
9
 
10
10
  test("multiples of 3 or 5 up to 4") {
11
11
  pending
12
- SumOfMultiples.sum(Set(3, 5), 4) should be (3)
12
+ SumOfMultiples.sum(Set(3, 5), 4) should be(3)
13
13
  }
14
14
 
15
15
  test("multiples of 3 up to 7") {
16
16
  pending
17
- SumOfMultiples.sum(Set(3), 7) should be (9)
17
+ SumOfMultiples.sum(Set(3), 7) should be(9)
18
18
  }
19
19
 
20
20
  test("multiples of 3 or 5 up to 10") {
21
21
  pending
22
- SumOfMultiples.sum(Set(3, 5), 10) should be (23)
22
+ SumOfMultiples.sum(Set(3, 5), 10) should be(23)
23
23
  }
24
24
 
25
25
  test("multiples of 3 or 5 up to 100") {
26
26
  pending
27
- SumOfMultiples.sum(Set(3, 5), 100) should be (2318)
27
+ SumOfMultiples.sum(Set(3, 5), 100) should be(2318)
28
28
  }
29
29
 
30
30
  test("multiples of 3 or 5 up to 1000") {
31
31
  pending
32
- SumOfMultiples.sum(Set(3, 5), 1000) should be (233168)
32
+ SumOfMultiples.sum(Set(3, 5), 1000) should be(233168)
33
33
  }
34
34
 
35
35
  test("multiples of 7, 13 or 17 up to 20") {
36
36
  pending
37
- SumOfMultiples.sum(Set(7, 13, 17), 20) should be (51)
37
+ SumOfMultiples.sum(Set(7, 13, 17), 20) should be(51)
38
38
  }
39
39
 
40
40
  test("multiples of 4 or 6 up to 15") {
41
41
  pending
42
- SumOfMultiples.sum(Set(4, 6), 15) should be (30)
42
+ SumOfMultiples.sum(Set(4, 6), 15) should be(30)
43
43
  }
44
44
 
45
45
  test("multiples of 5, 6 or 8 up to 150") {
46
46
  pending
47
- SumOfMultiples.sum(Set(5, 6, 8), 150) should be (4419)
47
+ SumOfMultiples.sum(Set(5, 6, 8), 150) should be(4419)
48
48
  }
49
49
 
50
50
  test("multiples of 5 or 25 up to 51") {
51
51
  pending
52
- SumOfMultiples.sum(Set(5, 25), 51) should be (275)
52
+ SumOfMultiples.sum(Set(5, 25), 51) should be(275)
53
53
  }
54
54
 
55
55
  test("multiples of 43 or 47 up to 10000") {
56
56
  pending
57
- SumOfMultiples.sum(Set(43, 47), 10000) should be (2203160)
57
+ SumOfMultiples.sum(Set(43, 47), 10000) should be(2203160)
58
58
  }
59
59
 
60
60
  test("multiples of 1 up to 100") {
61
61
  pending
62
- SumOfMultiples.sum(Set(1), 100) should be (4950)
62
+ SumOfMultiples.sum(Set(1), 100) should be(4950)
63
63
  }
64
64
 
65
65
  test("multiples of an empty list up to 10000") {
66
66
  pending
67
- SumOfMultiples.sum(Set(), 10000) should be (0)
67
+ SumOfMultiples.sum(Set(), 10000) should be(0)
68
68
  }
69
- }
69
+ }