trackler 2.2.1.100 → 2.2.1.101
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/kindergarten-garden/canonical-data.json +37 -19
- data/problem-specifications/exercises/ocr-numbers/canonical-data.json +144 -110
- data/problem-specifications/exercises/palindrome-products/canonical-data.json +49 -25
- data/problem-specifications/exercises/poker/canonical-data.json +171 -115
- data/problem-specifications/exercises/prime-factors/canonical-data.json +22 -8
- data/problem-specifications/exercises/protein-translation/canonical-data.json +70 -24
- data/problem-specifications/exercises/proverb/canonical-data.json +24 -12
- data/problem-specifications/exercises/queen-attack/canonical-data.json +115 -91
- data/problem-specifications/exercises/rail-fence-cipher/canonical-data.json +25 -13
- data/problem-specifications/exercises/raindrops/canonical-data.json +55 -19
- data/problem-specifications/exercises/rational-numbers/canonical-data.json +374 -0
- data/problem-specifications/exercises/rational-numbers/description.md +27 -0
- data/problem-specifications/exercises/rational-numbers/metadata.yml +4 -0
- data/problem-specifications/exercises/rectangles/canonical-data.json +93 -67
- data/problem-specifications/exercises/reverse-string/canonical-data.json +16 -6
- data/problem-specifications/exercises/rna-transcription/metadata.yml +3 -3
- data/problem-specifications/exercises/roman-numerals/canonical-data.json +10 -2
- data/tracks/bash/config.json +11 -11
- data/tracks/c/exercises/roman-numerals/test/test_roman_numerals.c +7 -0
- data/tracks/clojure/exercises/armstrong-numbers/README.md +1 -1
- data/tracks/delphi/config.json +11 -0
- data/tracks/delphi/exercises/clock/uClockExample.pas +6 -1
- data/tracks/delphi/exercises/clock/uClockTest.pas +22 -19
- data/tracks/delphi/exercises/isbn-verifier/README.md +1 -1
- data/tracks/delphi/exercises/reverse-string/README.md +1 -1
- data/tracks/delphi/exercises/rna-transcription/README.md +1 -1
- data/tracks/delphi/exercises/roman-numerals/uRomanNumeralsTest.pas +14 -0
- data/tracks/delphi/exercises/space-age/README.md +45 -0
- data/tracks/delphi/exercises/space-age/SpaceAge.dpr +60 -0
- data/tracks/delphi/exercises/space-age/uSpaceAgeExample.pas +120 -0
- data/tracks/delphi/exercises/space-age/uSpaceAgeTests.pas +135 -0
- data/tracks/delphi/exercises/two-fer/README.md +1 -1
- data/tracks/elixir/exercises/nth-prime/nth_prime.exs +0 -1
- data/tracks/fsharp/exercises/pov/PovTest.fs +66 -53
- data/tracks/fsharp/exercises/space-age/Example.fs +11 -11
- data/tracks/fsharp/exercises/space-age/SpaceAge.fs +1 -1
- data/tracks/fsharp/exercises/space-age/SpaceAgeTest.fs +21 -34
- data/tracks/fsharp/exercises/triangle/Example.fs +11 -16
- data/tracks/fsharp/exercises/triangle/Triangle.fs +4 -5
- data/tracks/fsharp/exercises/triangle/TriangleTest.fs +44 -31
- data/tracks/fsharp/generators/Generators.fs +121 -0
- data/tracks/go/config.json +12 -0
- data/tracks/go/exercises/clock/.meta/gen.go +37 -13
- data/tracks/go/exercises/clock/cases_test.go +10 -10
- data/tracks/go/exercises/clock/clock_test.go +16 -2
- data/tracks/go/exercises/clock/example.go +4 -0
- data/tracks/go/exercises/clock/example_clock_test.go +3 -3
- data/tracks/go/exercises/parallel-letter-frequency/.meta/hints.md +33 -0
- data/tracks/go/exercises/parallel-letter-frequency/README.md +35 -0
- data/tracks/go/exercises/raindrops/.meta/hints.md +7 -4
- data/tracks/go/exercises/raindrops/README.md +12 -0
- data/tracks/go/exercises/roman-numerals/.meta/gen.go +4 -2
- data/tracks/go/exercises/roman-numerals/cases_test.go +3 -2
- data/tracks/go/exercises/space-age/.meta/hints.md +10 -0
- data/tracks/go/exercises/space-age/README.md +14 -1
- data/tracks/go/exercises/twelve-days/README.md +2 -5
- data/tracks/go/exercises/two-bucket/.meta/gen.go +62 -0
- data/tracks/go/exercises/two-bucket/.meta/hints.md +16 -0
- data/tracks/go/exercises/two-bucket/README.md +72 -0
- data/tracks/go/exercises/two-bucket/cases_test.go +44 -0
- data/tracks/go/exercises/two-bucket/example.go +198 -0
- data/tracks/go/exercises/two-bucket/two_bucket_test.go +61 -0
- data/tracks/idris/.travis.yml +3 -2
- data/tracks/idris/bin/fetch-idris-testing.sh +11 -0
- data/tracks/idris/bin/solve_exercises.sh +2 -2
- data/tracks/idris/config.json +11 -0
- data/tracks/idris/config/exercise_readme.go.tmpl +0 -3
- data/tracks/idris/docs/INSTALLATION.md +22 -0
- data/tracks/idris/docs/TESTS.md +12 -4
- data/tracks/idris/exercises/accumulate/src/Accumulate.idr +5 -0
- data/tracks/idris/exercises/hamming/Hamming.ipkg +2 -0
- data/tracks/idris/exercises/hamming/src/{example.idr → Example.idr} +5 -1
- data/tracks/idris/exercises/hamming/src/Hamming.idr +13 -5
- data/tracks/idris/exercises/hamming/src/Test/Hamming.idr +31 -58
- data/tracks/idris/exercises/hello-world/HelloWorld.ipkg +2 -0
- data/tracks/idris/exercises/hello-world/src/Example.idr +9 -0
- data/tracks/idris/exercises/hello-world/src/HelloWorld.idr +6 -1
- data/tracks/idris/exercises/hello-world/src/Test/HelloWorld.idr +18 -18
- data/tracks/idris/exercises/leap/Leap.ipkg +2 -0
- data/tracks/idris/exercises/leap/src/{example.idr → Example.idr} +4 -0
- data/tracks/idris/exercises/leap/src/Leap.idr +5 -1
- data/tracks/idris/exercises/leap/src/Test/Leap.idr +21 -30
- data/tracks/idris/exercises/rna-transcription/Makefile +23 -0
- data/tracks/idris/exercises/rna-transcription/README.md +27 -0
- data/tracks/idris/exercises/rna-transcription/RnaTranscription.ipkg +5 -0
- data/tracks/idris/exercises/rna-transcription/src/RnaTranscription.idr +17 -0
- data/tracks/idris/exercises/rna-transcription/src/Test/RnaTranscription.idr +27 -0
- data/tracks/idris/exercises/rna-transcription/src/example.idr +35 -0
- data/tracks/java/exercises/etl/.meta/version +1 -0
- data/tracks/java/exercises/gigasecond/.meta/version +1 -0
- data/tracks/java/exercises/isbn-verifier/README.md +1 -1
- data/tracks/java/exercises/nucleotide-count/.meta/src/reference/java/NucleotideCounter.java +7 -1
- data/tracks/java/exercises/nucleotide-count/.meta/version +1 -0
- data/tracks/java/exercises/nucleotide-count/src/test/java/NucleotideCounterTest.java +19 -54
- data/tracks/java/exercises/proverb/.meta/version +1 -0
- data/tracks/java/exercises/reverse-string/README.md +1 -1
- data/tracks/java/exercises/rna-transcription/README.md +1 -1
- data/tracks/java/exercises/sum-of-multiples/.meta/version +1 -0
- data/tracks/java/exercises/sum-of-multiples/src/test/java/SumOfMultiplesTest.java +13 -1
- data/tracks/kotlin/config/exercise_readme.go.tmpl +0 -3
- data/tracks/kotlin/docs/TESTS.md +1 -1
- data/tracks/objective-c/config.json +11 -0
- data/tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureExample.h +7 -0
- data/tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureExample.m +26 -0
- data/tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureTest.m +39 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +31 -1
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/OCLint.xcscheme +3 -1
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/xobjectivecTest.xcscheme +3 -1
- data/tracks/ocaml/exercises/forth/example.ml +9 -9
- data/tracks/ocaml/tools/test-generator/Makefile +3 -9
- data/tracks/ocaml/tools/test-generator/src/test_gen.ml +18 -16
- data/tracks/perl6/exercises/acronym/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/acronym/acronym.t +4 -14
- data/tracks/perl6/exercises/all-your-base/all-your-base.t +0 -2
- data/tracks/perl6/exercises/allergies/allergies.t +0 -2
- data/tracks/perl6/exercises/anagram/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/anagram/anagram.t +2 -40
- data/tracks/perl6/exercises/atbash-cipher/atbash-cipher.t +0 -1
- data/tracks/perl6/exercises/bob/bob.t +0 -2
- data/tracks/perl6/exercises/clock/.meta/exercise-data.yaml +15 -11
- data/tracks/perl6/exercises/clock/.meta/solutions/Clock.pm6 +5 -1
- data/tracks/perl6/exercises/clock/Clock.pm6 +1 -1
- data/tracks/perl6/exercises/clock/clock.t +314 -217
- data/tracks/perl6/exercises/etl/etl.t +0 -2
- data/tracks/perl6/exercises/flatten-array/flatten-array.t +0 -2
- data/tracks/perl6/exercises/grains/grains.t +0 -2
- data/tracks/perl6/exercises/hamming/.meta/exercise-data.yaml +2 -2
- data/tracks/perl6/exercises/hamming/hamming.t +63 -35
- data/tracks/perl6/exercises/hello-world/hello-world.t +2 -3
- data/tracks/perl6/exercises/leap/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/leap/leap.t +14 -8
- data/tracks/perl6/exercises/luhn/luhn.t +0 -2
- data/tracks/perl6/exercises/nucleotide-count/.meta/exercise-data.yaml +2 -2
- data/tracks/perl6/exercises/nucleotide-count/nucleotide-count.t +18 -10
- data/tracks/perl6/exercises/pangram/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/pangram/pangram.t +32 -14
- data/tracks/perl6/exercises/phone-number/.meta/exercise-data.yaml +4 -4
- data/tracks/perl6/exercises/phone-number/.meta/solutions/Phone.pm6 +1 -1
- data/tracks/perl6/exercises/phone-number/Phone.pm6 +1 -1
- data/tracks/perl6/exercises/phone-number/phone-number.t +59 -21
- data/tracks/perl6/exercises/raindrops/raindrops.t +0 -2
- data/tracks/perl6/exercises/rna-transcription/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/rna-transcription/README.md +1 -1
- data/tracks/perl6/exercises/rna-transcription/rna-transcription.t +17 -9
- data/tracks/perl6/exercises/roman-numerals/.meta/exercise-data.yaml +3 -3
- data/tracks/perl6/exercises/roman-numerals/.meta/solutions/RomanNumerals.pm6 +1 -1
- data/tracks/perl6/exercises/roman-numerals/RomanNumerals.pm6 +1 -1
- data/tracks/perl6/exercises/roman-numerals/roman-numerals.t +66 -24
- data/tracks/perl6/exercises/scrabble-score/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/scrabble-score/scrabble-score.t +35 -15
- data/tracks/perl6/exercises/space-age/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/space-age/space-age.t +34 -20
- data/tracks/perl6/exercises/two-fer/.meta/exercise-data.yaml +2 -2
- data/tracks/perl6/exercises/two-fer/two-fer.t +15 -11
- data/tracks/perl6/exercises/word-count/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/word-count/word-count.t +46 -26
- data/tracks/perl6/exercises/wordy/.meta/exercise-data.yaml +2 -2
- data/tracks/perl6/exercises/wordy/wordy.t +51 -21
- data/tracks/perl6/lib/Exercism/Generator.pm6 +1 -1
- data/tracks/perl6/t/generated-tests.t +1 -1
- data/tracks/perl6/templates/test.mustache +0 -1
- data/tracks/python/config.json +12 -0
- data/tracks/python/exercises/forth/example.py +1 -1
- data/tracks/python/exercises/forth/forth_test.py +43 -38
- data/tracks/python/exercises/spiral-matrix/README.md +42 -0
- data/tracks/python/exercises/spiral-matrix/example.py +11 -0
- data/tracks/python/exercises/spiral-matrix/spiral_matrix.py +2 -0
- data/tracks/python/exercises/spiral-matrix/spiral_matrix_test.py +40 -0
- data/tracks/racket/config/exercise_readme.go.tmpl +24 -4
- data/tracks/racket/exercises/accumulate/README.md +3 -6
- data/tracks/racket/exercises/acronym/README.md +3 -4
- data/tracks/racket/exercises/allergies/README.md +3 -4
- data/tracks/racket/exercises/anagram/README.md +3 -3
- data/tracks/racket/exercises/bob/README.md +5 -3
- data/tracks/racket/exercises/collatz-conjecture/README.md +3 -3
- data/tracks/racket/exercises/difference-of-squares/README.md +3 -3
- data/tracks/racket/exercises/etl/README.md +6 -4
- data/tracks/racket/exercises/gigasecond/README.md +3 -3
- data/tracks/racket/exercises/grains/README.md +3 -4
- data/tracks/racket/exercises/grep/README.md +15 -15
- data/tracks/racket/exercises/hamming/README.md +3 -3
- data/tracks/racket/exercises/hello-world/README.md +1 -1
- data/tracks/racket/exercises/leap/README.md +4 -4
- data/tracks/racket/exercises/list-ops/README.md +3 -4
- data/tracks/racket/exercises/meetup/README.md +19 -15
- data/tracks/racket/exercises/nucleotide-count/README.md +11 -25
- data/tracks/racket/exercises/perfect-numbers/README.md +5 -5
- data/tracks/racket/exercises/phone-number/README.md +7 -6
- data/tracks/racket/exercises/raindrops/README.md +3 -3
- data/tracks/racket/exercises/rna-transcription/README.md +4 -4
- data/tracks/racket/exercises/roman-numerals/README.md +4 -4
- data/tracks/racket/exercises/say/README.md +3 -3
- data/tracks/racket/exercises/scrabble-score/README.md +6 -4
- data/tracks/racket/exercises/word-count/README.md +4 -5
- data/tracks/scheme/config/exercise_readme.go.tmpl +0 -3
- data/tracks/scheme/docs/INSTALLATION.md +23 -14
- metadata +40 -9
- data/tracks/idris/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/idris/exercises/hello-world/src/example.idr +0 -5
- data/tracks/kotlin/config/exercise-readme-insert.md +0 -1
- data/tracks/racket/docs/EXERCISE_README_INSERT.md +0 -23
- data/tracks/scheme/docs/EXERCISE_README_INSERT.md +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "prime-factors",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "returns prime factors for the given input number",
|
@@ -8,43 +8,57 @@
|
|
8
8
|
{
|
9
9
|
"description": "no factors",
|
10
10
|
"property": "factors",
|
11
|
-
"input":
|
11
|
+
"input": {
|
12
|
+
"value": 1
|
13
|
+
},
|
12
14
|
"expected": []
|
13
15
|
},
|
14
16
|
{
|
15
17
|
"description": "prime number",
|
16
18
|
"property": "factors",
|
17
|
-
"input":
|
19
|
+
"input": {
|
20
|
+
"value": 2
|
21
|
+
},
|
18
22
|
"expected": [2]
|
19
23
|
},
|
20
24
|
{
|
21
25
|
"description": "square of a prime",
|
22
26
|
"property": "factors",
|
23
|
-
"input":
|
27
|
+
"input": {
|
28
|
+
"value": 9
|
29
|
+
},
|
24
30
|
"expected": [3, 3]
|
25
31
|
},
|
26
32
|
{
|
27
33
|
"description": "cube of a prime",
|
28
34
|
"property": "factors",
|
29
|
-
"input":
|
35
|
+
"input": {
|
36
|
+
"value": 8
|
37
|
+
},
|
30
38
|
"expected": [2, 2, 2]
|
31
39
|
},
|
32
40
|
{
|
33
41
|
"description": "product of primes and non-primes",
|
34
42
|
"property": "factors",
|
35
|
-
"input":
|
43
|
+
"input": {
|
44
|
+
"value": 12
|
45
|
+
},
|
36
46
|
"expected": [2, 2, 3]
|
37
47
|
},
|
38
48
|
{
|
39
49
|
"description": "product of primes",
|
40
50
|
"property": "factors",
|
41
|
-
"input":
|
51
|
+
"input": {
|
52
|
+
"value": 901255
|
53
|
+
},
|
42
54
|
"expected": [5, 17, 23, 461]
|
43
55
|
},
|
44
56
|
{
|
45
57
|
"description": "factors include a large prime",
|
46
58
|
"property": "factors",
|
47
|
-
"input":
|
59
|
+
"input": {
|
60
|
+
"value": 93819012551
|
61
|
+
},
|
48
62
|
"expected": [11, 9539, 894119]
|
49
63
|
}
|
50
64
|
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "protein-translation",
|
3
|
-
"version": "1.0
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "Translate input RNA sequences into proteins",
|
@@ -12,139 +12,185 @@
|
|
12
12
|
{
|
13
13
|
"description": "Methionine RNA sequence",
|
14
14
|
"property": "proteins",
|
15
|
-
"
|
15
|
+
"input": {
|
16
|
+
"strand": "AUG"
|
17
|
+
},
|
16
18
|
"expected": ["Methionine"]
|
17
19
|
},
|
18
20
|
{
|
19
21
|
"description": "Phenylalanine RNA sequence 1",
|
20
22
|
"property": "proteins",
|
21
|
-
"
|
23
|
+
"input": {
|
24
|
+
"strand": "UUU"
|
25
|
+
},
|
22
26
|
"expected": ["Phenylalanine"]
|
23
27
|
},
|
24
28
|
{
|
25
29
|
"description": "Phenylalanine RNA sequence 2",
|
26
30
|
"property": "proteins",
|
27
|
-
"
|
31
|
+
"input": {
|
32
|
+
"strand": "UUC"
|
33
|
+
},
|
28
34
|
"expected": ["Phenylalanine"]
|
29
35
|
},
|
30
36
|
{
|
31
37
|
"description": "Leucine RNA sequence 1",
|
32
38
|
"property": "proteins",
|
33
|
-
"
|
39
|
+
"input": {
|
40
|
+
"strand": "UUA"
|
41
|
+
},
|
34
42
|
"expected": ["Leucine"]
|
35
43
|
},
|
36
44
|
{
|
37
45
|
"description": "Leucine RNA sequence 2",
|
38
46
|
"property": "proteins",
|
39
|
-
"
|
47
|
+
"input": {
|
48
|
+
"strand": "UUG"
|
49
|
+
},
|
40
50
|
"expected": ["Leucine"]
|
41
51
|
},
|
42
52
|
{
|
43
53
|
"description": "Serine RNA sequence 1",
|
44
54
|
"property": "proteins",
|
45
|
-
"
|
55
|
+
"input": {
|
56
|
+
"strand": "UCU"
|
57
|
+
},
|
46
58
|
"expected": ["Serine"]
|
47
59
|
},
|
48
60
|
{
|
49
61
|
"description": "Serine RNA sequence 2",
|
50
62
|
"property": "proteins",
|
51
|
-
"
|
63
|
+
"input": {
|
64
|
+
"strand": "UCC"
|
65
|
+
},
|
52
66
|
"expected": ["Serine"]
|
53
67
|
},
|
54
68
|
{
|
55
69
|
"description": "Serine RNA sequence 3",
|
56
70
|
"property": "proteins",
|
57
|
-
"
|
71
|
+
"input": {
|
72
|
+
"strand": "UCA"
|
73
|
+
},
|
58
74
|
"expected": ["Serine"]
|
59
75
|
},
|
60
76
|
{
|
61
77
|
"description": "Serine RNA sequence 4",
|
62
78
|
"property": "proteins",
|
63
|
-
"
|
79
|
+
"input": {
|
80
|
+
"strand": "UCG"
|
81
|
+
},
|
64
82
|
"expected": ["Serine"]
|
65
83
|
},
|
66
84
|
{
|
67
85
|
"description": "Tyrosine RNA sequence 1",
|
68
86
|
"property": "proteins",
|
69
|
-
"
|
87
|
+
"input": {
|
88
|
+
"strand": "UAU"
|
89
|
+
},
|
70
90
|
"expected": ["Tyrosine"]
|
71
91
|
},
|
72
92
|
{
|
73
93
|
"description": "Tyrosine RNA sequence 2",
|
74
94
|
"property": "proteins",
|
75
|
-
"
|
95
|
+
"input": {
|
96
|
+
"strand": "UAC"
|
97
|
+
},
|
76
98
|
"expected": ["Tyrosine"]
|
77
99
|
},
|
78
100
|
{
|
79
101
|
"description": "Cysteine RNA sequence 1",
|
80
102
|
"property": "proteins",
|
81
|
-
"
|
103
|
+
"input": {
|
104
|
+
"strand": "UGU"
|
105
|
+
},
|
82
106
|
"expected": ["Cysteine"]
|
83
107
|
},
|
84
108
|
{
|
85
109
|
"description": "Cysteine RNA sequence 2",
|
86
110
|
"property": "proteins",
|
87
|
-
"
|
111
|
+
"input": {
|
112
|
+
"strand": "UGC"
|
113
|
+
},
|
88
114
|
"expected": ["Cysteine"]
|
89
115
|
},
|
90
116
|
{
|
91
117
|
"description": "Tryptophan RNA sequence",
|
92
118
|
"property": "proteins",
|
93
|
-
"
|
119
|
+
"input": {
|
120
|
+
"strand": "UGG"
|
121
|
+
},
|
94
122
|
"expected": ["Tryptophan"]
|
95
123
|
},
|
96
124
|
{
|
97
125
|
"description": "STOP codon RNA sequence 1",
|
98
126
|
"property": "proteins",
|
99
|
-
"
|
127
|
+
"input": {
|
128
|
+
"strand": "UAA"
|
129
|
+
},
|
100
130
|
"expected": []
|
101
131
|
},
|
102
132
|
{
|
103
133
|
"description": "STOP codon RNA sequence 2",
|
104
134
|
"property": "proteins",
|
105
|
-
"
|
135
|
+
"input": {
|
136
|
+
"strand": "UAG"
|
137
|
+
},
|
106
138
|
"expected": []
|
107
139
|
},
|
108
140
|
{
|
109
141
|
"description": "STOP codon RNA sequence 3",
|
110
142
|
"property": "proteins",
|
111
|
-
"
|
143
|
+
"input": {
|
144
|
+
"strand": "UGA"
|
145
|
+
},
|
112
146
|
"expected": []
|
113
147
|
},
|
114
148
|
{
|
115
149
|
"description": "Translate RNA strand into correct protein list",
|
116
150
|
"property": "proteins",
|
117
|
-
"
|
151
|
+
"input": {
|
152
|
+
"strand": "AUGUUUUGG"
|
153
|
+
},
|
118
154
|
"expected": ["Methionine","Phenylalanine","Tryptophan"]
|
119
155
|
},
|
120
156
|
{
|
121
157
|
"description": "Translation stops if STOP codon at beginning of sequence",
|
122
158
|
"property": "proteins",
|
123
|
-
"
|
159
|
+
"input": {
|
160
|
+
"strand": "UAGUGG"
|
161
|
+
},
|
124
162
|
"expected": []
|
125
163
|
},
|
126
164
|
{
|
127
165
|
"description": "Translation stops if STOP codon at end of two-codon sequence",
|
128
166
|
"property": "proteins",
|
129
|
-
"
|
167
|
+
"input": {
|
168
|
+
"strand": "UGGUAG"
|
169
|
+
},
|
130
170
|
"expected": ["Tryptophan"]
|
131
171
|
},
|
132
172
|
{
|
133
173
|
"description": "Translation stops if STOP codon at end of three-codon sequence",
|
134
174
|
"property": "proteins",
|
135
|
-
"
|
175
|
+
"input": {
|
176
|
+
"strand": "AUGUUUUAA"
|
177
|
+
},
|
136
178
|
"expected": ["Methionine","Phenylalanine"]
|
137
179
|
},
|
138
180
|
{
|
139
181
|
"description": "Translation stops if STOP codon in middle of three-codon sequence",
|
140
182
|
"property": "proteins",
|
141
|
-
"
|
183
|
+
"input": {
|
184
|
+
"strand": "UGGUAGUGG"
|
185
|
+
},
|
142
186
|
"expected": ["Tryptophan"]
|
143
187
|
},
|
144
188
|
{
|
145
189
|
"description": "Translation stops if STOP codon in middle of six-codon sequence",
|
146
190
|
"property": "proteins",
|
147
|
-
"
|
191
|
+
"input": {
|
192
|
+
"strand": "UGGUGUUAUUAAUGGUUU"
|
193
|
+
},
|
148
194
|
"expected": ["Tryptophan","Cysteine","Tyrosine"]
|
149
195
|
}
|
150
196
|
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "proverb",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"comments": [
|
5
5
|
"JSON doesn't allow for multi-line strings, so all expected outputs are presented ",
|
6
6
|
"here as arrays of strings. It's up to the test generator to join the ",
|
@@ -10,15 +10,19 @@
|
|
10
10
|
{
|
11
11
|
"description": "zero pieces",
|
12
12
|
"property": "recite",
|
13
|
-
"input":
|
13
|
+
"input": {
|
14
|
+
"strings": []
|
15
|
+
},
|
14
16
|
"expected": []
|
15
17
|
},
|
16
18
|
{
|
17
19
|
"description": "one piece",
|
18
20
|
"property": "recite",
|
19
|
-
"input":
|
21
|
+
"input": {
|
22
|
+
"strings": [
|
20
23
|
"nail"
|
21
|
-
|
24
|
+
]
|
25
|
+
},
|
22
26
|
"expected": [
|
23
27
|
"And all for the want of a nail."
|
24
28
|
]
|
@@ -26,10 +30,12 @@
|
|
26
30
|
{
|
27
31
|
"description": "two pieces",
|
28
32
|
"property": "recite",
|
29
|
-
"input":
|
33
|
+
"input": {
|
34
|
+
"strings": [
|
30
35
|
"nail",
|
31
36
|
"shoe"
|
32
|
-
|
37
|
+
]
|
38
|
+
},
|
33
39
|
"expected": [
|
34
40
|
"For want of a nail the shoe was lost.",
|
35
41
|
"And all for the want of a nail."
|
@@ -38,11 +44,13 @@
|
|
38
44
|
{
|
39
45
|
"description": "three pieces",
|
40
46
|
"property": "recite",
|
41
|
-
"input":
|
47
|
+
"input": {
|
48
|
+
"strings": [
|
42
49
|
"nail",
|
43
50
|
"shoe",
|
44
51
|
"horse"
|
45
|
-
|
52
|
+
]
|
53
|
+
},
|
46
54
|
"expected": [
|
47
55
|
"For want of a nail the shoe was lost.",
|
48
56
|
"For want of a shoe the horse was lost.",
|
@@ -52,7 +60,8 @@
|
|
52
60
|
{
|
53
61
|
"description": "full proverb",
|
54
62
|
"property": "recite",
|
55
|
-
"input":
|
63
|
+
"input": {
|
64
|
+
"strings": [
|
56
65
|
"nail",
|
57
66
|
"shoe",
|
58
67
|
"horse",
|
@@ -60,7 +69,8 @@
|
|
60
69
|
"message",
|
61
70
|
"battle",
|
62
71
|
"kingdom"
|
63
|
-
|
72
|
+
]
|
73
|
+
},
|
64
74
|
"expected": [
|
65
75
|
"For want of a nail the shoe was lost.",
|
66
76
|
"For want of a shoe the horse was lost.",
|
@@ -74,12 +84,14 @@
|
|
74
84
|
{
|
75
85
|
"description": "four pieces modernized",
|
76
86
|
"property": "recite",
|
77
|
-
"input":
|
87
|
+
"input": {
|
88
|
+
"strings": [
|
78
89
|
"pin",
|
79
90
|
"gun",
|
80
91
|
"soldier",
|
81
92
|
"battle"
|
82
|
-
|
93
|
+
]
|
94
|
+
},
|
83
95
|
"expected": [
|
84
96
|
"For want of a pin the gun was lost.",
|
85
97
|
"For want of a gun the soldier was lost.",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "queen-attack",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.1.0",
|
4
4
|
"comments": [
|
5
5
|
"Testing invalid positions will vary by language. The expected",
|
6
6
|
"value of -1 is there to indicate some sort of failure should",
|
@@ -17,10 +17,12 @@
|
|
17
17
|
{
|
18
18
|
"description": "queen with a valid position",
|
19
19
|
"property": "create",
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
23
|
-
|
20
|
+
"input": {
|
21
|
+
"queen": {
|
22
|
+
"position": {
|
23
|
+
"row": 2,
|
24
|
+
"column": 2
|
25
|
+
}
|
24
26
|
}
|
25
27
|
},
|
26
28
|
"expected": 0
|
@@ -28,10 +30,12 @@
|
|
28
30
|
{
|
29
31
|
"description": "queen must have positive row",
|
30
32
|
"property": "create",
|
31
|
-
"
|
32
|
-
"
|
33
|
-
"
|
34
|
-
|
33
|
+
"input": {
|
34
|
+
"queen": {
|
35
|
+
"position": {
|
36
|
+
"row": -2,
|
37
|
+
"column": 2
|
38
|
+
}
|
35
39
|
}
|
36
40
|
},
|
37
41
|
"expected": -1
|
@@ -39,10 +43,12 @@
|
|
39
43
|
{
|
40
44
|
"description": "queen must have row on board",
|
41
45
|
"property": "create",
|
42
|
-
"
|
43
|
-
"
|
44
|
-
"
|
45
|
-
|
46
|
+
"input": {
|
47
|
+
"queen": {
|
48
|
+
"position": {
|
49
|
+
"row": 8,
|
50
|
+
"column": 4
|
51
|
+
}
|
46
52
|
}
|
47
53
|
},
|
48
54
|
"expected": -1
|
@@ -50,10 +56,12 @@
|
|
50
56
|
{
|
51
57
|
"description": "queen must have positive column",
|
52
58
|
"property": "create",
|
53
|
-
"
|
54
|
-
"
|
55
|
-
"
|
56
|
-
|
59
|
+
"input": {
|
60
|
+
"queen": {
|
61
|
+
"position": {
|
62
|
+
"row": 2,
|
63
|
+
"column": -2
|
64
|
+
}
|
57
65
|
}
|
58
66
|
},
|
59
67
|
"expected": -1
|
@@ -61,10 +69,12 @@
|
|
61
69
|
{
|
62
70
|
"description": "queen must have column on board",
|
63
71
|
"property": "create",
|
64
|
-
"
|
65
|
-
"
|
66
|
-
"
|
67
|
-
|
72
|
+
"input": {
|
73
|
+
"queen": {
|
74
|
+
"position": {
|
75
|
+
"row": 4,
|
76
|
+
"column": 8
|
77
|
+
}
|
68
78
|
}
|
69
79
|
},
|
70
80
|
"expected": -1
|
@@ -77,16 +87,18 @@
|
|
77
87
|
{
|
78
88
|
"description": "can not attack",
|
79
89
|
"property": "canAttack",
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
"
|
88
|
-
"
|
89
|
-
|
90
|
+
"input": {
|
91
|
+
"white_queen": {
|
92
|
+
"position": {
|
93
|
+
"row": 2,
|
94
|
+
"column": 4
|
95
|
+
}
|
96
|
+
},
|
97
|
+
"black_queen": {
|
98
|
+
"position": {
|
99
|
+
"row": 6,
|
100
|
+
"column": 6
|
101
|
+
}
|
90
102
|
}
|
91
103
|
},
|
92
104
|
"expected": false
|
@@ -94,16 +106,18 @@
|
|
94
106
|
{
|
95
107
|
"description": "can attack on same row",
|
96
108
|
"property": "canAttack",
|
97
|
-
"
|
98
|
-
"
|
99
|
-
"
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
"
|
105
|
-
"
|
106
|
-
|
109
|
+
"input": {
|
110
|
+
"white_queen": {
|
111
|
+
"position": {
|
112
|
+
"row": 2,
|
113
|
+
"column": 4
|
114
|
+
}
|
115
|
+
},
|
116
|
+
"black_queen": {
|
117
|
+
"position": {
|
118
|
+
"row": 2,
|
119
|
+
"column": 6
|
120
|
+
}
|
107
121
|
}
|
108
122
|
},
|
109
123
|
"expected": true
|
@@ -111,16 +125,18 @@
|
|
111
125
|
{
|
112
126
|
"description": "can attack on same column",
|
113
127
|
"property": "canAttack",
|
114
|
-
"
|
115
|
-
"
|
116
|
-
"
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
"
|
122
|
-
"
|
123
|
-
|
128
|
+
"input": {
|
129
|
+
"white_queen": {
|
130
|
+
"position": {
|
131
|
+
"row": 4,
|
132
|
+
"column": 5
|
133
|
+
}
|
134
|
+
},
|
135
|
+
"black_queen": {
|
136
|
+
"position": {
|
137
|
+
"row": 2,
|
138
|
+
"column": 5
|
139
|
+
}
|
124
140
|
}
|
125
141
|
},
|
126
142
|
"expected": true
|
@@ -128,16 +144,18 @@
|
|
128
144
|
{
|
129
145
|
"description": "can attack on first diagonal",
|
130
146
|
"property": "canAttack",
|
131
|
-
"
|
132
|
-
"
|
133
|
-
"
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
"
|
139
|
-
"
|
140
|
-
|
147
|
+
"input": {
|
148
|
+
"white_queen": {
|
149
|
+
"position": {
|
150
|
+
"row": 2,
|
151
|
+
"column": 2
|
152
|
+
}
|
153
|
+
},
|
154
|
+
"black_queen": {
|
155
|
+
"position": {
|
156
|
+
"row": 0,
|
157
|
+
"column": 4
|
158
|
+
}
|
141
159
|
}
|
142
160
|
},
|
143
161
|
"expected": true
|
@@ -145,16 +163,18 @@
|
|
145
163
|
{
|
146
164
|
"description": "can attack on second diagonal",
|
147
165
|
"property": "canAttack",
|
148
|
-
"
|
149
|
-
"
|
150
|
-
"
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
"
|
156
|
-
"
|
157
|
-
|
166
|
+
"input": {
|
167
|
+
"white_queen": {
|
168
|
+
"position": {
|
169
|
+
"row": 2,
|
170
|
+
"column": 2
|
171
|
+
}
|
172
|
+
},
|
173
|
+
"black_queen": {
|
174
|
+
"position": {
|
175
|
+
"row": 3,
|
176
|
+
"column": 1
|
177
|
+
}
|
158
178
|
}
|
159
179
|
},
|
160
180
|
"expected": true
|
@@ -162,16 +182,18 @@
|
|
162
182
|
{
|
163
183
|
"description": "can attack on third diagonal",
|
164
184
|
"property": "canAttack",
|
165
|
-
"
|
166
|
-
"
|
167
|
-
"
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
"
|
173
|
-
"
|
174
|
-
|
185
|
+
"input": {
|
186
|
+
"white_queen": {
|
187
|
+
"position": {
|
188
|
+
"row": 2,
|
189
|
+
"column": 2
|
190
|
+
}
|
191
|
+
},
|
192
|
+
"black_queen": {
|
193
|
+
"position": {
|
194
|
+
"row": 1,
|
195
|
+
"column": 1
|
196
|
+
}
|
175
197
|
}
|
176
198
|
},
|
177
199
|
"expected": true
|
@@ -179,16 +201,18 @@
|
|
179
201
|
{
|
180
202
|
"description": "can attack on fourth diagonal",
|
181
203
|
"property": "canAttack",
|
182
|
-
"
|
183
|
-
"
|
184
|
-
"
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
"
|
190
|
-
"
|
191
|
-
|
204
|
+
"input": {
|
205
|
+
"white_queen": {
|
206
|
+
"position": {
|
207
|
+
"row": 2,
|
208
|
+
"column": 2
|
209
|
+
}
|
210
|
+
},
|
211
|
+
"black_queen": {
|
212
|
+
"position": {
|
213
|
+
"row": 5,
|
214
|
+
"column": 5
|
215
|
+
}
|
192
216
|
}
|
193
217
|
},
|
194
218
|
"expected": true
|