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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3204de800ec7eef566ccc5e2a48e9dd99d70a407
4
- data.tar.gz: 8ea801d22c63ea5a884e0b879fcfa80af2f611cb
3
+ metadata.gz: 956bc9de5fbd416f23d6f7cfeabbc4c28edcd559
4
+ data.tar.gz: 9c7a904426ed89d05476a3066a5110c41f694584
5
5
  SHA512:
6
- metadata.gz: d62a8b637aaa23601fe7bf220d463a4ed3d01382bbc2648495ba884da180c05ff14926ff0009a937dc2c63e0f3570365bd1777e32ee655dade7cf3050366b670
7
- data.tar.gz: f40ff5b7155f9837e9d8c5bd5a73e04ffc89e043295d56fc32be38c168db4342bca2696e62e6849a0c642344c22f2f16f5b36fd52c2a60771c032c06784a577d
6
+ metadata.gz: bbc5d5a656753aea898eebf5caee55446ad0793cd462e43356369400c83bcfbaf0e9fbc4d990a79569b1b981b9db846a786eebde7ea77e2add4704d8c046f162
7
+ data.tar.gz: 4648f51dbfef1b5446d9761608a0f03a195f2026e24a507028d46ca4b2261b959c21f498faf1c8a48419392a60239f1acf924eccac42d070a453bd19fb9433a6
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.66"
2
+ VERSION = "2.2.1.67"
3
3
  end
@@ -105,6 +105,7 @@ example, what kinds of implementation mistakes might this case help us find?
105
105
 
106
106
  There are also some convention about `expected` that you must follow:
107
107
 
108
+ - All keys should follow the [lowerCamelCase](http://wiki.c2.com/?LowerCamelCase) convention.
108
109
  - if the input is valid but there is no result for the input, the value at `"expected"` should be `null`.
109
110
  - if an error is expected (because the input is invalid, or any other reason), the value at `"expected"` should be an object containing exactly one property, `"error"`, whose value is a string.
110
111
  - The string should explain why the error would occur.
@@ -1,96 +1,112 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "no matches", {
4
+ #skip
4
5
  run bash anagram.sh "diaper" "hello world zombies pants"
5
6
  [ "$status" -eq 0 ]
6
7
  [ "$output" = "" ]
7
8
  }
8
9
 
9
10
  @test "detects simple anagram" {
11
+ skip
10
12
  run bash anagram.sh "ant" "tan stand at"
11
13
  [ "$status" -eq 0 ]
12
14
  [ "$output" = "tan" ]
13
15
  }
14
16
 
15
17
  @test "does not detect false positives" {
18
+ skip
16
19
  run bash anagram.sh "galea" "eagle"
17
20
 
18
21
  [ "$status" -eq 0 ]
19
22
  [ "$output" = "" ]
20
23
  }
21
24
  @test "detects two anagrams" {
25
+ skip
22
26
  run bash anagram.sh "master" "stream pigeon maters"
23
27
 
24
28
  [ "$status" -eq 0 ]
25
29
  [ "$output" = "stream maters" ]
26
30
  }
27
31
  @test "does not detect anagram subsets" {
32
+ skip
28
33
  run bash anagram.sh "good" "dog goody"
29
34
 
30
35
  [ "$status" -eq 0 ]
31
36
  [ "$output" = "" ]
32
37
  }
33
38
  @test "detects anagram" {
39
+ skip
34
40
  run bash anagram.sh "listen" "enlists google inlets banana"
35
41
 
36
42
  [ "$status" -eq 0 ]
37
43
  [ "$output" = "inlets" ]
38
44
  }
39
45
  @test "detects three anagrams" {
46
+ skip
40
47
  run bash anagram.sh "allergy" "gallery ballerina regally clergy largely leading"
41
48
 
42
49
  [ "$status" -eq 0 ]
43
50
  [ "$output" = "gallery regally largely" ]
44
51
  }
45
52
  @test "does not detect identical words" {
53
+ skip
46
54
  run bash anagram.sh "corn" "corn dark Corn rank CORN cron park"
47
55
 
48
56
  [ "$status" -eq 0 ]
49
57
  [ "$output" = "cron" ]
50
58
  }
51
59
  @test "does not detect non-anagrams with identical checksum" {
60
+ skip
52
61
  run bash anagram.sh "mass" "last"
53
62
 
54
63
  [ "$status" -eq 0 ]
55
64
  [ "$output" = "" ]
56
65
  }
57
66
  @test "detects anagrams case-insensitively" {
67
+ skip
58
68
  run bash anagram.sh "Orchestra" "cashregister Carthorse radishes"
59
69
 
60
70
  [ "$status" -eq 0 ]
61
71
  [ "$output" = "Carthorse" ]
62
72
  }
63
73
  @test "detects anagrams using case-insensitive subject" {
74
+ skip
64
75
  run bash anagram.sh "Orchestra" "cashregister carthorse radishes"
65
76
 
66
77
  [ "$status" -eq 0 ]
67
78
  [ "$output" = "carthorse" ]
68
79
  }
69
80
  @test "detects anagrams using case-insensitive possible matches" {
81
+ skip
70
82
  run bash anagram.sh "orchestra" "cashregister Carthorse radishes"
71
83
 
72
84
  [ "$status" -eq 0 ]
73
85
  [ "$output" = "Carthorse" ]
74
86
  }
75
87
  @test "does not detect a word as its own anagram" {
88
+ skip
76
89
  run bash anagram.sh "banana" "Banana"
77
90
 
78
91
  [ "$status" -eq 0 ]
79
92
  [ "$output" = "" ]
80
93
  }
81
94
  @test "does not detect a anagram if the original word is repeated" {
95
+ skip
82
96
  run bash anagram.sh "go" "go Go GO"
83
97
 
84
98
  [ "$status" -eq 0 ]
85
99
  [ "$output" = "" ]
86
100
  }
87
101
  @test "anagrams must use all letters exactly once" {
102
+ skip
88
103
  run bash anagram.sh "tapper" "patter"
89
104
 
90
105
  [ "$status" -eq 0 ]
91
106
  [ "$output" = "" ]
92
107
  }
93
108
  @test "capital word is not own anagram" {
109
+ skip
94
110
  run bash anagram.sh "BANANA" "Banana"
95
111
 
96
112
  [ "$status" -eq 0 ]
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "stating something." {
4
+ #skip
4
5
  run bash bob.sh "Tom-ay-to, tom-aaaah-to."
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test "shouting" {
12
+ skip
11
13
  run bash bob.sh 'WATCH OUT!'
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,6 +17,7 @@
15
17
  }
16
18
 
17
19
  @test "shouting gibberish" {
20
+ skip
18
21
  run bash bob.sh 'FCECDFCAAB'
19
22
 
20
23
  [ "$status" -eq 0 ]
@@ -23,6 +26,7 @@
23
26
 
24
27
 
25
28
  @test "asking a question" {
29
+ skip
26
30
  run bash bob.sh "Does this cryogenic chamber make me look fat?"
27
31
 
28
32
  [ "$status" -eq 0 ]
@@ -30,6 +34,7 @@
30
34
  }
31
35
 
32
36
  @test "asking a numeric question" {
37
+ skip
33
38
  run bash bob.sh 'You are, what, like 15?'
34
39
 
35
40
  [ "$status" -eq 0 ]
@@ -37,6 +42,7 @@
37
42
  }
38
43
 
39
44
  @test "asking gibberish" {
45
+ skip
40
46
  run bash bob.sh "fffbbcbeab?"
41
47
 
42
48
  [ "$status" -eq 0 ]
@@ -45,6 +51,7 @@
45
51
 
46
52
 
47
53
  @test "talking forcefully" {
54
+ skip
48
55
  run bash bob.sh "Let's go make out behind the gym!"
49
56
 
50
57
  [ "$status" -eq 0 ]
@@ -52,6 +59,7 @@
52
59
  }
53
60
 
54
61
  @test "using accronyms in regular speech" {
62
+ skip
55
63
  run bash bob.sh "It's OK if you don't want to go to the DMV."
56
64
 
57
65
  [ "$status" -eq 0 ]
@@ -59,6 +67,7 @@
59
67
  }
60
68
 
61
69
  @test "forceful question" {
70
+ skip
62
71
  run bash bob.sh "WHAT THE HELL WERE YOU THINKING?"
63
72
 
64
73
  [ "$status" -eq 0 ]
@@ -66,6 +75,7 @@
66
75
  }
67
76
 
68
77
  @test "shouting numbers" {
78
+ skip
69
79
  run bash bob.sh "1, 2, 3 GO!"
70
80
 
71
81
  [ "$status" -eq 0 ]
@@ -73,6 +83,7 @@
73
83
  }
74
84
 
75
85
  @test "only numbers" {
86
+ skip
76
87
  run bash bob.sh "1, 2, 3"
77
88
 
78
89
  [ "$status" -eq 0 ]
@@ -80,6 +91,7 @@
80
91
  }
81
92
 
82
93
  @test "question with only numbers" {
94
+ skip
83
95
  run bash bob.sh '4?'
84
96
 
85
97
  [ "$status" -eq 0 ]
@@ -87,6 +99,7 @@
87
99
  }
88
100
 
89
101
  @test "shouting with special characters" {
102
+ skip
90
103
  run bash bob.sh 'ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!'
91
104
 
92
105
  [ "$status" -eq 0 ]
@@ -94,6 +107,7 @@
94
107
  }
95
108
 
96
109
  @test "shouting with umlauts" {
110
+ skip
97
111
  run bash bob.sh 'ÜMLÄÜTS!'
98
112
 
99
113
  [ "$status" -eq 0 ]
@@ -101,6 +115,7 @@
101
115
  }
102
116
 
103
117
  @test "calmly speaking with umlauts" {
118
+ skip
104
119
  run bash bob.sh 'ÜMLäÜTS!'
105
120
 
106
121
  [ "$status" -eq 0 ]
@@ -108,6 +123,7 @@
108
123
  }
109
124
 
110
125
  @test "shouting with no exclamation mark" {
126
+ skip
111
127
  run bash bob.sh 'I HATE YOU'
112
128
 
113
129
  [ "$status" -eq 0 ]
@@ -115,6 +131,7 @@
115
131
  }
116
132
 
117
133
  @test "statement containing question mark" {
134
+ skip
118
135
  run bash bob.sh 'Ending with ? means a question.'
119
136
 
120
137
  [ "$status" -eq 0 ]
@@ -122,12 +139,14 @@
122
139
  }
123
140
 
124
141
  @test "non-letters with question" {
142
+ skip
125
143
  run bash bob.sh ':) ?'
126
144
 
127
145
  [ "$status" -eq 0 ]
128
146
  [ "$output" = "Sure." ]
129
147
  }
130
148
  @test "prattling on" {
149
+ skip
131
150
  run bash bob.sh 'Wait! Hang on. Are you going to be OK?'
132
151
 
133
152
  [ "$status" -eq 0 ]
@@ -135,6 +154,7 @@
135
154
  }
136
155
 
137
156
  @test "silence" {
157
+ skip
138
158
  run bash bob.sh ''
139
159
 
140
160
  [ "$status" -eq 0 ]
@@ -142,6 +162,7 @@
142
162
  }
143
163
 
144
164
  @test "silence" {
165
+ skip
145
166
  run bash bob.sh
146
167
 
147
168
  [ "$status" -eq 0 ]
@@ -149,6 +170,7 @@
149
170
  }
150
171
 
151
172
  @test "prolonged silence" {
173
+ skip
152
174
  run bash bob.sh " "
153
175
 
154
176
  [ "$status" -eq 0 ]
@@ -156,6 +178,7 @@
156
178
  }
157
179
 
158
180
  @test "alternate silence" {
181
+ skip
159
182
  run bash bob.sh " "
160
183
 
161
184
  [ "$status" -eq 0 ]
@@ -163,6 +186,7 @@
163
186
  }
164
187
 
165
188
  @test "multiple line question" {
189
+ skip
166
190
  run bash bob.sh "\nDoes this cryogenic chamber make me look fat?\nno"
167
191
 
168
192
  [ "$status" -eq 0 ]
@@ -170,6 +194,7 @@
170
194
  }
171
195
 
172
196
  @test "starting with whitespace" {
197
+ skip
173
198
  run bash bob.sh ' hmmmmmmm...'
174
199
 
175
200
  [ "$status" -eq 0 ]
@@ -177,6 +202,7 @@
177
202
  }
178
203
 
179
204
  @test "ending with whitespace" {
205
+ skip
180
206
  run bash bob.sh 'Okay if like my spacebar quite a bit? '
181
207
 
182
208
  [ "$status" -eq 0 ]
@@ -186,6 +212,7 @@
186
212
  # This is commented out because it behaves differently on linux and mac
187
213
  # see: https://github.com/exercism/bash/pull/28
188
214
  #@test "other whitespace" {
215
+ # skip
189
216
  # run bash bob.sh "\n\r \t\u000b\u00a0\u2002"
190
217
  #
191
218
  # [ "$status" -eq 0 ]
@@ -194,6 +221,7 @@
194
221
 
195
222
 
196
223
  @test "non-question ending with whitespace" {
224
+ skip
197
225
  run bash bob.sh 'This is a statement ending with whitespace '
198
226
 
199
227
  [ "$status" -eq 0 ]
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test 'difference of squares 1' {
4
+ #skip
4
5
  run bash difference_of_squares.sh 1
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test 'difference of squares 5' {
12
+ skip
11
13
  run bash difference_of_squares.sh 5
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,6 +17,7 @@
15
17
  }
16
18
 
17
19
  @test 'difference of squares 100' {
20
+ skip
18
21
  run bash difference_of_squares.sh 100
19
22
 
20
23
  [ "$status" -eq 0 ]
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test "correct arguments" {
4
+ #skip
4
5
  run bash error_handling.sh Alice
5
6
 
6
7
  [ "$status" -eq 0 ]
@@ -8,6 +9,7 @@
8
9
  }
9
10
 
10
11
  @test "one long argument" {
12
+ skip
11
13
  run bash error_handling.sh "Alice and Bob"
12
14
 
13
15
  [ "$status" -eq 0 ]
@@ -15,17 +17,20 @@
15
17
  }
16
18
 
17
19
  @test "incorrect arguments" {
20
+ skip
18
21
  run bash error_handling.sh Alice Bob
19
22
 
20
23
  [ "$status" -ne 0 ]
21
24
  }
22
25
 
23
26
  @test "use errexit" {
27
+ skip
24
28
  source error_handling.sh
25
29
  [ echo $SHELLOPTS | grep -q 'errexit' ]
26
30
  }
27
31
 
28
32
  @test "use nounset" {
33
+ skip
29
34
  source error_handling.sh
30
35
  [ echo $SHELLOPTS | grep -q 'nounset' ]
31
36
  }
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env bats
2
2
 
3
3
  @test 'April 25th, 2011' {
4
+ # this is used to skip the test
5
+ # normally, we skip every test except for the first one
6
+ # (the first one is always commented out)
7
+ # this allows for a person to focus on solving a test at a time
8
+ # you can comment out or delete the `skip` to run the test when ready
9
+ #skip
4
10
  run bash gigasecond.sh '2011-04-25Z'
5
11
 
6
12
  [ "$status" -eq 0 ]
@@ -8,6 +14,7 @@
8
14
  }
9
15
 
10
16
  @test 'June 13th, 1977' {
17
+ skip
11
18
  run bash gigasecond.sh '1977-06-13Z'
12
19
 
13
20
  [ "$status" -eq 0 ]
@@ -15,6 +22,7 @@
15
22
  }
16
23
 
17
24
  @test 'July 19th, 1959' {
25
+ skip
18
26
  run bash gigasecond.sh '1959-07-19Z'
19
27
 
20
28
  [ "$status" -eq 0 ]
@@ -22,6 +30,7 @@
22
30
  }
23
31
 
24
32
  @test 'Time specified' {
33
+ skip
25
34
  run bash gigasecond.sh '2015-01-24 22:00:00Z'
26
35
 
27
36
  [ "$status" -eq 0 ]
@@ -29,6 +38,7 @@
29
38
  }
30
39
 
31
40
  @test 'Time with day rollover' {
41
+ skip
32
42
  run bash gigasecond.sh '2015-01-24 23:59:59Z'
33
43
 
34
44
  [ "$status" -eq 0 ]