trackler 2.2.1.115 → 2.2.1.116

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