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
@@ -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 ]