trackler 2.2.1.66 → 2.2.1.67

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/README.md +1 -0
  4. data/tracks/bash/exercises/anagram/anagram_tests.sh +16 -0
  5. data/tracks/bash/exercises/bob/bob_test.sh +28 -0
  6. data/tracks/bash/exercises/difference-of-squares/difference_of_squares_test.sh +3 -0
  7. data/tracks/bash/exercises/error-handling/error_handling_test.sh +5 -0
  8. data/tracks/bash/exercises/gigasecond/gigasecond_test.sh +10 -0
  9. data/tracks/bash/exercises/hamming/hamming_test.sh +15 -0
  10. data/tracks/bash/exercises/leap/leap_test.sh +10 -0
  11. data/tracks/bash/exercises/nucleotide-count/nucleotide_count_test.sh +4 -0
  12. data/tracks/bash/exercises/pangram/pangram_tests.sh +9 -0
  13. data/tracks/bash/exercises/phone-number/phone_number_tests.sh +13 -1
  14. data/tracks/bash/exercises/raindrops/raindrops_test.sh +16 -0
  15. data/tracks/bash/exercises/rna-transcription/rna_transcription_test.sh +8 -0
  16. data/tracks/bash/exercises/two-fer/two_fer_test.sh +3 -0
  17. data/tracks/bash/exercises/word-count/word_count_test.sh +9 -1
  18. data/tracks/c/exercises/hello-world/src/hello_world.c +0 -2
  19. data/tracks/c/exercises/sieve/test/test_sieve.c +13 -16
  20. data/tracks/erlang/config.json +4 -4
  21. data/tracks/fsharp/config.json +12 -0
  22. data/tracks/fsharp/exercises/Exercises.sln +6 -0
  23. data/tracks/fsharp/exercises/rotational-cipher/Example.fs +29 -0
  24. data/tracks/fsharp/exercises/rotational-cipher/Program.fs +1 -0
  25. data/tracks/fsharp/exercises/rotational-cipher/README.md +29 -0
  26. data/tracks/fsharp/exercises/rotational-cipher/RotationalCipher.fs +3 -0
  27. data/tracks/fsharp/exercises/rotational-cipher/RotationalCipher.fsproj +23 -0
  28. data/tracks/fsharp/exercises/rotational-cipher/RotationalCipherTest.fs +49 -0
  29. data/tracks/fsharp/generators/Generators.fs +3 -0
  30. data/tracks/go/exercises/grains/.meta/gen.go +99 -0
  31. data/tracks/go/exercises/grains/cases_test.go +64 -0
  32. data/tracks/go/exercises/grains/grains_test.go +4 -20
  33. data/tracks/go/exercises/space-age/space_age_test.go +3 -1
  34. data/tracks/java/config.json +12 -0
  35. data/tracks/java/exercises/beer-song/.meta/src/reference/java/BeerSong.java +4 -4
  36. data/tracks/java/exercises/diamond/src/main/java/DiamondPrinter.java +9 -0
  37. data/tracks/java/exercises/isbn-verifier/.meta/src/reference/java/IsbnVerifier.java +35 -0
  38. data/tracks/java/exercises/isbn-verifier/.meta/version +1 -0
  39. data/tracks/java/exercises/isbn-verifier/README.md +53 -0
  40. data/tracks/java/exercises/isbn-verifier/build.gradle +18 -0
  41. data/tracks/java/exercises/isbn-verifier/src/main/java/IsbnVerifier.java +7 -0
  42. data/tracks/java/exercises/isbn-verifier/src/test/java/IsbnVerifierTest.java +94 -0
  43. data/tracks/java/exercises/isogram/src/main/java/IsogramChecker.java +7 -0
  44. data/tracks/java/exercises/saddle-points/src/main/java/Matrix.java +13 -0
  45. data/tracks/java/exercises/settings.gradle +1 -0
  46. data/tracks/kotlin/config.json +1 -1
  47. data/tracks/ocaml/exercises/all-your-base/example.ml +1 -1
  48. data/tracks/ocaml/exercises/all-your-base/test.ml +9 -9
  49. data/tracks/perl6/config.json +1 -1
  50. data/tracks/perl6/docs/SNIPPET.txt +2 -2
  51. data/tracks/perl6/exercises/anagram/Anagram.pm6 +4 -1
  52. data/tracks/perl6/exercises/anagram/Example.pm6 +4 -15
  53. data/tracks/perl6/exercises/anagram/anagram.t +2 -2
  54. data/tracks/perl6/exercises/anagram/example.yaml +7 -15
  55. data/tracks/php/config.json +12 -0
  56. data/tracks/php/exercises/run-length-encoding/README.md +42 -0
  57. data/tracks/php/exercises/run-length-encoding/example.php +60 -0
  58. data/tracks/php/exercises/run-length-encoding/run-length-encoding.php +20 -0
  59. data/tracks/php/exercises/run-length-encoding/run-length-encoding_test.php +65 -0
  60. data/tracks/purescript/.travis.yml +1 -1
  61. data/tracks/purescript/bin/test.sh +9 -2
  62. data/tracks/python/config.json +7 -16
  63. data/tracks/r/exercises/hello-world/test_hello-world.R +0 -8
  64. data/tracks/racket/config.json +1 -1
  65. data/tracks/swift/config.json +12 -2
  66. data/tracks/swift/exercises/diamond/Package.swift +5 -0
  67. data/tracks/swift/exercises/diamond/README.md +64 -0
  68. data/tracks/swift/exercises/diamond/Sources/Diamond.swift +1 -0
  69. data/tracks/swift/exercises/diamond/Sources/DiamondExample.swift +30 -0
  70. data/tracks/swift/exercises/diamond/Tests/DiamondTests/DiamondTests.swift +98 -0
  71. data/tracks/swift/exercises/diamond/Tests/LinuxMain.swift +6 -0
  72. metadata +29 -8
  73. data/tracks/java/exercises/diamond/src/main/java/.keep +0 -0
  74. data/tracks/java/exercises/isogram/src/main/java/.keep +0 -0
  75. data/tracks/python/exercises/parallel-letter-frequency/README.md +0 -24
  76. data/tracks/python/exercises/parallel-letter-frequency/example.py +0 -56
  77. data/tracks/python/exercises/parallel-letter-frequency/parallel_letter_frequency.py +0 -2
  78. data/tracks/python/exercises/parallel-letter-frequency/parallel_letter_frequency_test.py +0 -61
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "Short identical strands have hamming distance of zero" {
4
+ #skip
4
5
  run bash hamming.sh C C
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test "Long identical strands have hamming distance of zero" {
12
+ skip
11
13
  run bash hamming.sh CATGCATG CATGCATG
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,6 +17,7 @@
15
17
  }
16
18
 
17
19
  @test "Single char different strings have hamming distance of one" {
20
+ skip
18
21
  run bash hamming.sh C A
19
22
 
20
23
  [ "$status" -eq 0 ]
@@ -22,6 +25,7 @@
22
25
  }
23
26
 
24
27
  @test "Distance with all chars different in small strings" {
28
+ skip
25
29
  run bash hamming.sh GC AT
26
30
 
27
31
  [ "$status" -eq 0 ]
@@ -29,6 +33,7 @@
29
33
  }
30
34
 
31
35
  @test "small distance with small strands" {
36
+ skip
32
37
  run bash hamming.sh GC GT
33
38
 
34
39
  [ "$status" -eq 0 ]
@@ -36,6 +41,7 @@
36
41
  }
37
42
 
38
43
  @test "small distance" {
44
+ skip
39
45
  run bash hamming.sh GGACG GGTCG
40
46
 
41
47
  [ "$status" -eq 0 ]
@@ -43,6 +49,7 @@
43
49
  }
44
50
 
45
51
  @test "small distance in long strands" {
52
+ skip
46
53
  run bash hamming.sh ACCAGGG ACTATGG
47
54
 
48
55
  [ "$status" -eq 0 ]
@@ -50,6 +57,7 @@
50
57
  }
51
58
 
52
59
  @test "non unique char in first strand" {
60
+ skip
53
61
  run bash hamming.sh AGA AGG
54
62
 
55
63
  [ "$status" -eq 0 ]
@@ -57,6 +65,7 @@
57
65
  }
58
66
 
59
67
  @test "non unique char in second strand" {
68
+ skip
60
69
  run bash hamming.sh AGG AGA
61
70
 
62
71
  [ "$status" -eq 0 ]
@@ -64,6 +73,7 @@
64
73
  }
65
74
 
66
75
  @test "large distance" {
76
+ skip
67
77
  run bash hamming.sh GATACA GCATAA
68
78
 
69
79
  [ "$status" -eq 0 ]
@@ -71,6 +81,7 @@
71
81
  }
72
82
 
73
83
  @test "large distance in off by one strand" {
84
+ skip
74
85
  run bash hamming.sh GGACGGATTCTG AGGACGGATTCT
75
86
 
76
87
  [ "$status" -eq 0 ]
@@ -78,6 +89,7 @@
78
89
  }
79
90
 
80
91
  @test "empty strands" {
92
+ skip
81
93
  run bash hamming.sh "" ""
82
94
 
83
95
  [ "$status" -eq 0 ]
@@ -85,6 +97,7 @@
85
97
  }
86
98
 
87
99
  @test "first string longer" {
100
+ skip
88
101
  run bash hamming.sh AGT AG
89
102
 
90
103
  [ "$status" -eq 1 ]
@@ -92,6 +105,7 @@
92
105
  }
93
106
 
94
107
  @test "second string longer" {
108
+ skip
95
109
  run bash hamming.sh AGT AGTC
96
110
 
97
111
  [ "$status" -eq 1 ]
@@ -99,6 +113,7 @@
99
113
  }
100
114
 
101
115
  @test "no input" {
116
+ skip
102
117
  run bash hamming.sh
103
118
 
104
119
  [ "$status" -eq 1 ]
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "Leap year should return leap year" {
4
+ #skip
4
5
  run ./leap.sh 1996
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test 'Non-leap year should return non-leap year' {
12
+ skip
11
13
  run ./leap.sh 1997
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,6 +17,7 @@
15
17
  }
16
18
 
17
19
  @test 'Non-leap even year should return non-leap year' {
20
+ skip
18
21
  run ./leap.sh 1998
19
22
 
20
23
  [ "$status" -eq 0 ]
@@ -22,6 +25,7 @@
22
25
  }
23
26
 
24
27
  @test 'Century non-leap year should return non-leap year' {
28
+ skip
25
29
  run ./leap.sh 1900
26
30
 
27
31
  [ "$status" -eq 0 ]
@@ -29,6 +33,7 @@
29
33
  }
30
34
 
31
35
  @test 'Fourth century should return leap year' {
36
+ skip
32
37
  run ./leap.sh 2400
33
38
 
34
39
  [ "$status" -eq 0 ]
@@ -36,6 +41,7 @@
36
41
  }
37
42
 
38
43
  @test 'Y2K should return leap year' {
44
+ skip
39
45
  run ./leap.sh 2000
40
46
 
41
47
  [ "$status" -eq 0 ]
@@ -43,6 +49,7 @@
43
49
  }
44
50
 
45
51
  @test 'No input should return an error' {
52
+ skip
46
53
  run ./leap.sh
47
54
 
48
55
  [ "$status" -eq 1 ]
@@ -50,6 +57,7 @@
50
57
  }
51
58
 
52
59
  @test 'Too much input should return an error' {
60
+ skip
53
61
  run ./leap.sh 2016 4562 4566
54
62
 
55
63
  [ "$status" -eq 1 ]
@@ -57,6 +65,7 @@
57
65
  }
58
66
 
59
67
  @test 'Float number input should return an error' {
68
+ skip
60
69
  run ./leap.sh 2016.54
61
70
 
62
71
  [ "$status" -eq 1 ]
@@ -64,6 +73,7 @@
64
73
  }
65
74
 
66
75
  @test 'Alpha input should return an error' {
76
+ skip
67
77
  run ./leap.sh abcd
68
78
 
69
79
  [ "$status" -eq 1 ]
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "empty strand" {
4
+ #skip
4
5
  run ./nucleotide_count.sh ""
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test "strand with repeated nucleotide" {
12
+ skip
11
13
  run ./nucleotide_count.sh "GGGGGGG"
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,6 +17,7 @@
15
17
  }
16
18
 
17
19
  @test "strand with multiple nucleotides" {
20
+ skip
18
21
  run ./nucleotide_count.sh "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC"
19
22
 
20
23
  [ "$status" -eq 0 ]
@@ -22,6 +25,7 @@
22
25
  }
23
26
 
24
27
  @test "strand with invalid nucleotides" {
28
+ skip
25
29
  run ./nucleotide_count.sh "AGXXACT"
26
30
 
27
31
  [ "$status" -eq 1 ]
@@ -1,46 +1,55 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "sentence empty" {
4
+ #skip
4
5
  run bash pangram.sh ""
5
6
  [ "$status" -eq 1 ]
6
7
  }
7
8
 
8
9
  @test "pangram with only lower case" {
10
+ skip
9
11
  run bash pangram.sh "the quick brown fox jumps over the lazy dog"
10
12
  [ "$status" -eq 0 ]
11
13
  }
12
14
 
13
15
  @test "missing character 'x'" {
16
+ skip
14
17
  run bash pangram.sh "a quick movement of the enemy will jeopardize five gunboats"
15
18
  [ "$status" -eq 1 ]
16
19
  }
17
20
 
18
21
  @test "another missing character 'x'" {
22
+ skip
19
23
  run bash pangram.sh "the quick brown fish jumps over the lazy dog"
20
24
  [ "$status" -eq 1 ]
21
25
  }
22
26
 
23
27
  @test "pangram with underscores" {
28
+ skip
24
29
  run bash pangram.sh "the_quick_brown_fox_jumps_over_the_lazy_dog"
25
30
  [ "$status" -eq 0 ]
26
31
  }
27
32
 
28
33
  @test "pangram with numbers" {
34
+ skip
29
35
  run bash pangram.sh "the 1 quick brown fox jumps over the 2 lazy dogs"
30
36
  [ "$status" -eq 0 ]
31
37
  }
32
38
 
33
39
  @test "missing letters replaced by numbers" {
40
+ skip
34
41
  run bash pangram.sh "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog"
35
42
  [ "$status" -eq 1 ]
36
43
  }
37
44
 
38
45
  @test "pangram with mixed case and punctuation" {
46
+ skip
39
47
  run bash pangram.sh "Five quacking Zephyrs jolt my wax bed."
40
48
  [ "$status" -eq 0 ]
41
49
  }
42
50
 
43
51
  @test "upper and lower case versions of the same character should not be counted separately" {
52
+ skip
44
53
  run bash pangram.sh "the quick brown fox jumped over the lazy FOX"
45
54
  [ "$status" -eq 1 ]
46
55
  }
@@ -1,73 +1,85 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "Cleans the number" {
4
+ #skip
4
5
  run bash phone_number.sh "(223) 456-7890"
5
6
  [ "$status" -eq 0 ]
6
7
  [ "$output" = "2234567890" ]
7
8
  }
8
9
 
9
10
  @test "Cleans numbers with dots" {
11
+ skip
10
12
  run bash phone_number.sh "223.456.7890"
11
13
  [ "$status" -eq 0 ]
12
14
  [ "$output" = "2234567890" ]
13
15
  }
14
16
 
15
17
  @test "Cleans numbers with multiple spaces" {
18
+ skip
16
19
  run bash phone_number.sh "223 456 7890 "
17
20
  [ "$status" -eq 0 ]
18
21
  [ "$output" = "2234567890" ]
19
22
  }
20
23
 
21
24
  @test "Invalid when 9 digits" {
25
+ skip
22
26
  run bash phone_number.sh "123456789"
23
27
  [ "$status" -eq 1 ]
24
28
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
25
29
  }
26
30
 
27
31
  @test "Invalid when 11 digits does not start with 1" {
32
+ skip
28
33
  run bash phone_number.sh "22234567890"
29
34
  [ "$status" -eq 1 ]
30
35
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
31
36
  }
32
37
 
33
38
  @test "Valid when 11 digits and starting with 1" {
39
+ skip
34
40
  run bash phone_number.sh "12234567890"
35
41
  [ "$status" -eq 0 ]
36
42
  [ "$output" = "2234567890" ]
37
43
  }
38
44
 
39
45
  @test "Valid when 11 digits and starting with 1 even with punctuation" {
46
+ skip
40
47
  run bash phone_number.sh "+1 (223) 456-7890"
41
48
  [ "$status" -eq 0 ]
42
49
  [ "$output" = "2234567890" ]
43
50
  }
44
51
 
45
52
  @test "Invalid with more than 11 digits" {
53
+ skip
46
54
  run bash phone_number.sh "321234567890"
47
55
  [ "$status" -eq 1 ]
48
56
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
49
57
  }
50
58
 
51
59
  @test "Invalid with letters" {
60
+ skip
52
61
  run bash phone_number.sh "123-abc-7890"
53
62
  [ "$status" -eq 1 ]
54
63
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
55
64
  }
56
65
 
57
66
  @test "Invalid with punctuations" {
67
+ skip
58
68
  run bash phone_number.sh "123-@:!-7890"
59
69
  [ "$status" -eq 1 ]
60
70
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
61
71
  }
62
72
 
63
73
  @test "Invalid if area code does not start with 2-9" {
74
+ skip
64
75
  run bash phone_number.sh "(123) 456-7890"
65
76
  [ "$status" -eq 1 ]
66
77
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
67
78
  }
68
79
 
69
80
  @test "Invalid if exchange code does not start with 2-9" {
81
+ skip
70
82
  run bash phone_number.sh "(223) 056-7890"
71
83
  [ "$status" -eq 1 ]
72
84
  [ "$output" = "Invalid number. [1]NXX-NXX-XXXX N=2-9, X=0-9" ]
73
- }
85
+ }
@@ -3,6 +3,7 @@
3
3
  # check non factors
4
4
 
5
5
  @test "Number 1, not factor of 3, 5 or 7, should output itself: 1." {
6
+ #skip
6
7
  run bash raindrops.sh 1
7
8
 
8
9
  [ "$status" -eq 0 ]
@@ -10,6 +11,7 @@
10
11
  }
11
12
 
12
13
  @test "Number 52, not factor of 3, 5 or 7, should output itself: 52." {
14
+ skip
13
15
  run bash raindrops.sh 52
14
16
 
15
17
  [ "$status" -eq 0 ]
@@ -17,6 +19,7 @@
17
19
  }
18
20
 
19
21
  @test "Number 21121, not factor of 3, 5 or 7, should output itself: 21121." {
22
+ skip
20
23
  run bash raindrops.sh 21121
21
24
 
22
25
  [ "$status" -eq 0 ]
@@ -26,6 +29,7 @@
26
29
  # check factor themselves
27
30
 
28
31
  @test "Number 3, only factor of 3, should output: Pling." {
32
+ skip
29
33
  run bash raindrops.sh 3
30
34
 
31
35
  [ "$status" -eq 0 ]
@@ -33,6 +37,7 @@
33
37
  }
34
38
 
35
39
  @test "Number 5, only factor of 5, should output: Plang." {
40
+ skip
36
41
  run bash raindrops.sh 5
37
42
 
38
43
  [ "$status" -eq 0 ]
@@ -40,6 +45,7 @@
40
45
  }
41
46
 
42
47
  @test "Number 7, only factor of 7, should output: Plong." {
48
+ skip
43
49
  run bash raindrops.sh 7
44
50
 
45
51
  [ "$status" -eq 0 ]
@@ -49,6 +55,7 @@
49
55
  # check factor with non factors
50
56
 
51
57
  @test "Number 6, factor of 3 but not 5 or 7, should output: Pling." {
58
+ skip
52
59
  run bash raindrops.sh 6
53
60
 
54
61
  [ "$status" -eq 0 ]
@@ -56,6 +63,7 @@
56
63
  }
57
64
 
58
65
  @test "Number 10, factor of 5 but not 3 or 7, should output: Plang." {
66
+ skip
59
67
  run bash raindrops.sh 10
60
68
 
61
69
  [ "$status" -eq 0 ]
@@ -63,6 +71,7 @@
63
71
  }
64
72
 
65
73
  @test "Number 14, factor of 7 but not 3 or 5, should output: Plong." {
74
+ skip
66
75
  run bash raindrops.sh 14
67
76
 
68
77
  [ "$status" -eq 0 ]
@@ -72,6 +81,7 @@
72
81
  # check factor with another factor
73
82
 
74
83
  @test "Number 15, factor of 3 and 5, should output: PlingPlang." {
84
+ skip
75
85
  run bash raindrops.sh 15
76
86
 
77
87
  [ "$status" -eq 0 ]
@@ -79,6 +89,7 @@
79
89
  }
80
90
 
81
91
  @test "Number 21, factor of 3 and 7, should output: PlingPlong." {
92
+ skip
82
93
  run bash raindrops.sh 21
83
94
 
84
95
  [ "$status" -eq 0 ]
@@ -86,6 +97,7 @@
86
97
  }
87
98
 
88
99
  @test "Number 35, factor of 5 and 7, should output: PlangPlong." {
100
+ skip
89
101
  run bash raindrops.sh 35
90
102
 
91
103
  [ "$status" -eq 0 ]
@@ -95,6 +107,7 @@
95
107
  # check factor with itself
96
108
 
97
109
  @test "Number 9, factor of 9, should output: Pling (not PlingPling)." {
110
+ skip
98
111
  run bash raindrops.sh 9
99
112
 
100
113
  [ "$status" -eq 0 ]
@@ -102,6 +115,7 @@
102
115
  }
103
116
 
104
117
  @test "Number 25, factor of 5, should output: Plang (not PlangPlang)." {
118
+ skip
105
119
  run bash raindrops.sh 25
106
120
 
107
121
  [ "$status" -eq 0 ]
@@ -109,6 +123,7 @@
109
123
  }
110
124
 
111
125
  @test "Number 49, factor of 7, should output: Plong (not PlongPlong)." {
126
+ skip
112
127
  run bash raindrops.sh 49
113
128
 
114
129
  [ "$status" -eq 0 ]
@@ -118,6 +133,7 @@
118
133
  # check all factors
119
134
 
120
135
  @test "Number 105, factor of 3, 5 and 7, should output: PlingPlangPlong." {
136
+ skip
121
137
  run bash raindrops.sh 105
122
138
 
123
139
  [ "$status" -eq 0 ]