trackler 2.2.1.66 → 2.2.1.67

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