trackler 2.0.8.12 → 2.0.8.13
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.
- checksums.yaml +4 -4
- data/common/exercises/hamming/canonical-data.json +121 -104
- data/lib/trackler/version.rb +1 -1
- data/tracks/delphi/.gitignore +40 -2
- data/tracks/delphi/config.json +8 -0
- data/tracks/delphi/exercises/allergies/{AllergyTests.dpr → Allergies.dpr} +1 -1
- data/tracks/delphi/exercises/allergies/uAllergyTests.pas +1 -1
- data/tracks/delphi/exercises/bank-account/{BankAccountTests.dpr → BankAccount.dpr} +1 -1
- data/tracks/delphi/exercises/bank-account/uBankAccountTests.pas +1 -1
- data/tracks/delphi/exercises/beer-song/{BeerSongTests.dpr → BeerSong.dpr} +1 -1
- data/tracks/delphi/exercises/beer-song/uBeerSongTests.pas +7 -6
- data/tracks/delphi/exercises/binary-search/{BinarySearchTest.dpr → BinarySearch.dpr} +1 -1
- data/tracks/delphi/exercises/binary-search/uBinarySearchTest.pas +9 -8
- data/tracks/delphi/exercises/bob/uBobTests.pas +18 -17
- data/tracks/delphi/exercises/book-store/{BookStoreTests.dpr → BookStore.dpr} +1 -1
- data/tracks/delphi/exercises/book-store/uBookStoreTests.pas +12 -11
- data/tracks/delphi/exercises/bowling/{BowlingTests.dpr → Bowling.dpr} +1 -1
- data/tracks/delphi/exercises/bowling/uBowlingTests.pas +24 -23
- data/tracks/delphi/exercises/circular-buffer/{CircularBufferTests.dpr → CircularBuffer.dpr} +1 -1
- data/tracks/delphi/exercises/circular-buffer/uCircularBufferTests.pas +1 -1
- data/tracks/delphi/exercises/clock/{ClockTest.dpr → Clock.dpr} +1 -1
- data/tracks/delphi/exercises/clock/uClockTest.pas +13 -5
- data/tracks/delphi/exercises/etl/{ETLtests.dpr → ETL.dpr} +1 -1
- data/tracks/delphi/exercises/etl/uETLtests.pas +1 -1
- data/tracks/delphi/exercises/grains/{GrainsTests.dpr → Grains.dpr} +1 -1
- data/tracks/delphi/exercises/grains/uGrainsTests.pas +11 -10
- data/tracks/delphi/exercises/hamming/uHammingTests.pas +1 -0
- data/tracks/delphi/exercises/leap/{LeapTest.dpr → Leap.dpr} +1 -1
- data/tracks/delphi/exercises/leap/uLeapTests.pas +1 -0
- data/tracks/delphi/exercises/nucleotide-count/{NucleotideCountTest.dpr → NucleotideCount.dpr} +1 -1
- data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +9 -8
- data/tracks/delphi/exercises/perfect-numbers/{PerfectNumbersTest.dpr → PerfectNumbers.dpr} +1 -1
- data/tracks/delphi/exercises/perfect-numbers/uPerfectNumbersTest.pas +71 -20
- data/tracks/delphi/exercises/phone-number/{PhoneNumberTests.dpr → PhoneNumber.dpr} +1 -1
- data/tracks/delphi/exercises/phone-number/uPhoneNumberTests.pas +1 -0
- data/tracks/delphi/exercises/poker/uPokerTest.pas +1 -0
- data/tracks/delphi/exercises/raindrops/raindrops.dpr +60 -0
- data/tracks/delphi/exercises/raindrops/uRaindropsExample.pas +27 -0
- data/tracks/delphi/exercises/raindrops/uRaindropsTest.pas +180 -0
- data/tracks/delphi/exercises/rna-transcription/{TestRnaTranscription.dpr → RnaTranscription.dpr} +1 -1
- data/tracks/delphi/exercises/rna-transcription/uTestRnaTranscription.pas +8 -7
- data/tracks/delphi/exercises/saddle-points/{TestSaddlePoints.dpr → SaddlePoints.dpr} +1 -1
- data/tracks/delphi/exercises/saddle-points/uSaddlePointsTests.pas +6 -5
- data/tracks/go/config.json +12 -4
- data/tracks/go/exercises/accumulate/accumulate_test.go +2 -4
- data/tracks/go/exercises/luhn/cases_test.go +76 -0
- data/tracks/go/exercises/luhn/example.go +26 -26
- data/tracks/go/exercises/luhn/example_gen.go +50 -0
- data/tracks/go/exercises/luhn/luhn_test.go +1 -14
- data/tracks/go/exercises/perfect-numbers/perfect_numbers_test.go +14 -13
- data/tracks/java/exercises/rna-transcription/src/example/java/RnaTranscription.java +1 -1
- data/tracks/java/exercises/rna-transcription/src/main/java/RnaTranscription.java +5 -0
- data/tracks/java/exercises/rna-transcription/src/test/java/RnaTranscriptionTest.java +14 -7
- data/tracks/julia/.travis.yml +1 -0
- data/tracks/lisp/docs/ABOUT.md +10 -7
- data/tracks/lisp/docs/INSTALLATION.md +12 -4
- data/tracks/lisp/docs/LEARNING.md +11 -5
- data/tracks/lisp/docs/RESOURCES.md +18 -9
- data/tracks/lisp/docs/TESTS.md +4 -0
- data/tracks/scala/exercises/simple-linked-list/src/test/scala/SimpleLinkedListTest.scala +9 -1
- data/tracks/typescript/config.json +6 -0
- data/tracks/typescript/exercises/food-chain/food-chain.example.ts +54 -0
- data/tracks/typescript/exercises/food-chain/food-chain.test.ts +163 -0
- data/tracks/typescript/exercises/food-chain/package.json +37 -0
- data/tracks/typescript/exercises/food-chain/tsconfig.json +21 -0
- data/tracks/typescript/exercises/food-chain/tslint.json +127 -0
- data/tracks/typescript/exercises/food-chain/yarn.lock +2697 -0
- metadata +30 -19
- data/tracks/java/exercises/rna-transcription/src/main/java/.keep +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be4829a9e4c7af9a44b4ff36b33726b1e8b8a763
|
4
|
+
data.tar.gz: 4a9e2b1deb132c3610b91ae482f5e8860f5974d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8afa4247bd983207ea963acefc10f4725741a4bc14f3fe84a28f95ae5431085e92ebf42a04faccaa55e87b00dc27417f1c587b0b19131d69c570b2475e609e3e
|
7
|
+
data.tar.gz: 81472680474c9394108c90481a29047168554329a87f079c48d4b0f3da2fa71b66c2e221f638f62a78c496aeb0a6a5a675a259e521e473e20c99dc8d26f21757
|
@@ -1,106 +1,123 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
2
|
+
"exercise": "hamming",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"comments": [
|
5
|
+
"Language implementations vary on the issue of unequal length strands.",
|
6
|
+
"A language may elect to simplify this task by only presenting equal",
|
7
|
+
"length test cases. For languages handling unequal length strands as",
|
8
|
+
"error condition, unequal length test cases are included here and are",
|
9
|
+
"indicated with an expected value of -1. Note however that -1 is",
|
10
|
+
"simply an indication here in the JSON. Actually returning -1 from",
|
11
|
+
"a hamming distance function may or may not be idiomatic in a language.",
|
12
|
+
"Language idioms of errors or exceptions should be followed.",
|
13
|
+
"Alternative interpretations such as ignoring excess length at the end",
|
14
|
+
"are not represented here."
|
15
|
+
],
|
16
|
+
"cases": [
|
17
|
+
{
|
18
|
+
"description": "identical strands",
|
19
|
+
"property": "distance",
|
20
|
+
"strand1": "A",
|
21
|
+
"strand2": "A",
|
22
|
+
"expected": 0
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"description": "long identical strands",
|
26
|
+
"property": "distance",
|
27
|
+
"strand1": "GGACTGA",
|
28
|
+
"strand2": "GGACTGA",
|
29
|
+
"expected": 0
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"description": "complete distance in single nucleotide strands",
|
33
|
+
"property": "distance",
|
34
|
+
"strand1": "A",
|
35
|
+
"strand2": "G",
|
36
|
+
"expected": 1
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"description": "complete distance in small strands",
|
40
|
+
"property": "distance",
|
41
|
+
"strand1": "AG",
|
42
|
+
"strand2": "CT",
|
43
|
+
"expected": 2
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"description": "small distance in small strands",
|
47
|
+
"property": "distance",
|
48
|
+
"strand1": "AT",
|
49
|
+
"strand2": "CT",
|
50
|
+
"expected": 1
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"description": "small distance",
|
54
|
+
"property": "distance",
|
55
|
+
"strand1": "GGACG",
|
56
|
+
"strand2": "GGTCG",
|
57
|
+
"expected": 1
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"description": "small distance in long strands",
|
61
|
+
"property": "distance",
|
62
|
+
"strand1": "ACCAGGG",
|
63
|
+
"strand2": "ACTATGG",
|
64
|
+
"expected": 2
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"description": "non-unique character in first strand",
|
68
|
+
"property": "distance",
|
69
|
+
"strand1": "AGA",
|
70
|
+
"strand2": "AGG",
|
71
|
+
"expected": 1
|
72
|
+
},
|
73
|
+
{
|
74
|
+
"description": "non-unique character in second strand",
|
75
|
+
"property": "distance",
|
76
|
+
"strand1": "AGG",
|
77
|
+
"strand2": "AGA",
|
78
|
+
"expected": 1
|
79
|
+
},
|
80
|
+
{
|
81
|
+
"description": "same nucleotides in different positions",
|
82
|
+
"property": "distance",
|
83
|
+
"strand1": "TAG",
|
84
|
+
"strand2": "GAT",
|
85
|
+
"expected": 2
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"description": "large distance",
|
89
|
+
"property": "distance",
|
90
|
+
"strand1": "GATACA",
|
91
|
+
"strand2": "GCATAA",
|
92
|
+
"expected": 4
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"description": "large distance in off-by-one strand",
|
96
|
+
"property": "distance",
|
97
|
+
"strand1": "GGACGGATTCTG",
|
98
|
+
"strand2": "AGGACGGATTCT",
|
99
|
+
"expected": 9
|
100
|
+
},
|
101
|
+
{
|
102
|
+
"description": "empty strands",
|
103
|
+
"property": "distance",
|
104
|
+
"strand1": "",
|
105
|
+
"strand2": "",
|
106
|
+
"expected": 0
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"description": "disallow first strand longer",
|
110
|
+
"property": "distance",
|
111
|
+
"strand1": "AATG",
|
112
|
+
"strand2": "AAA",
|
113
|
+
"expected": -1
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"description": "disallow second strand longer",
|
117
|
+
"property": "distance",
|
118
|
+
"strand1": "ATA",
|
119
|
+
"strand2": "AGTG",
|
120
|
+
"expected": -1
|
121
|
+
}
|
122
|
+
]
|
106
123
|
}
|
data/lib/trackler/version.rb
CHANGED
data/tracks/delphi/.gitignore
CHANGED
@@ -1,5 +1,43 @@
|
|
1
|
-
|
2
|
-
.DS_Store
|
1
|
+
# Exercism project
|
3
2
|
bin/configlet
|
4
3
|
bin/configlet.exe
|
4
|
+
|
5
|
+
# Delphi Language
|
6
|
+
*.a
|
7
|
+
*.apk
|
8
|
+
*.bpi
|
9
|
+
*.bpl
|
10
|
+
*.dcp
|
11
|
+
*.dcu
|
12
|
+
*.dll
|
13
|
+
*.drc
|
14
|
+
*.dres
|
15
|
+
*.exe
|
16
|
+
*.lib
|
17
|
+
*.map
|
18
|
+
*.o
|
19
|
+
*.ocx
|
20
|
+
*.rsm
|
21
|
+
*.so
|
22
|
+
*.tds
|
23
|
+
|
24
|
+
# Delphi autogenerated files (duplicated info)
|
25
|
+
*.cfg
|
5
26
|
*.dproj
|
27
|
+
*.hpp
|
28
|
+
*Resource.rc
|
29
|
+
|
30
|
+
# Delphi local files (user-specific info)
|
31
|
+
*.dsk
|
32
|
+
*.identcache
|
33
|
+
*.local
|
34
|
+
*.projdata
|
35
|
+
*.tvsconfig
|
36
|
+
|
37
|
+
# Delphi history and backups
|
38
|
+
*.~*
|
39
|
+
__history/
|
40
|
+
__recovery/
|
41
|
+
|
42
|
+
# Castalia statistics file (since XE7 Castalia is distributed with Delphi)
|
43
|
+
*.stat
|
data/tracks/delphi/config.json
CHANGED
@@ -10,22 +10,23 @@ type
|
|
10
10
|
VerseTests = class(TObject)
|
11
11
|
public
|
12
12
|
[Test]
|
13
|
+
// [Ignore('Comment the "[Ignore]" statement to run the test')]
|
13
14
|
procedure First_verse;
|
14
15
|
|
15
16
|
[Test]
|
16
|
-
[Ignore
|
17
|
+
[Ignore]
|
17
18
|
procedure Middle_verse;
|
18
19
|
|
19
20
|
[Test]
|
20
|
-
[Ignore
|
21
|
+
[Ignore]
|
21
22
|
procedure Third_to_last_verse;
|
22
23
|
|
23
24
|
[Test]
|
24
|
-
[Ignore
|
25
|
+
[Ignore]
|
25
26
|
procedure Penultimate_verse;
|
26
27
|
|
27
28
|
[Test]
|
28
|
-
[Ignore
|
29
|
+
[Ignore]
|
29
30
|
procedure Last_verse;
|
30
31
|
end;
|
31
32
|
|
@@ -33,11 +34,11 @@ type
|
|
33
34
|
LyricsTests = class(TObject)
|
34
35
|
public
|
35
36
|
[Test]
|
36
|
-
[Ignore
|
37
|
+
[Ignore]
|
37
38
|
procedure Last_4_verses;
|
38
39
|
|
39
40
|
[Test]
|
40
|
-
[Ignore
|
41
|
+
[Ignore]
|
41
42
|
procedure All_verses;
|
42
43
|
end;
|
43
44
|
|
@@ -10,38 +10,39 @@ type
|
|
10
10
|
TBinarySearchTest = class(TObject)
|
11
11
|
public
|
12
12
|
[Test]
|
13
|
+
// [Ignore('Comment the "[Ignore]" statement to run the test')]
|
13
14
|
procedure Should_return_minus_one_when_an_empty_array_is_searched;
|
14
15
|
|
15
16
|
[Test]
|
16
|
-
[Ignore
|
17
|
+
[Ignore]
|
17
18
|
procedure Should_be_able_to_find_a_value_in_a_single_element_array_with_one_access;
|
18
19
|
|
19
20
|
[Test]
|
20
|
-
[Ignore
|
21
|
+
[Ignore]
|
21
22
|
procedure Should_return_minus_one_if_a_value_is_less_than_the_element_in_a_single_element_array;
|
22
23
|
|
23
24
|
[Test]
|
24
|
-
[Ignore
|
25
|
+
[Ignore]
|
25
26
|
procedure Should_return_minus_one_if_a_value_is_greater_than_the_element_in_a_single_element_array;
|
26
27
|
|
27
28
|
[Test]
|
28
|
-
[Ignore
|
29
|
+
[Ignore]
|
29
30
|
procedure Should_find_an_element_in_a_longer_array;
|
30
31
|
|
31
32
|
[Test]
|
32
|
-
[Ignore
|
33
|
+
[Ignore]
|
33
34
|
procedure Should_find_elements_at_the_beginning_of_an_array;
|
34
35
|
|
35
36
|
[Test]
|
36
|
-
[Ignore
|
37
|
+
[Ignore]
|
37
38
|
procedure Should_find_elements_at_the_end_of_an_array;
|
38
39
|
|
39
40
|
[Test]
|
40
|
-
[Ignore
|
41
|
+
[Ignore]
|
41
42
|
procedure Should_return_minus_one_if_a_value_is_less_than_all_elements_in_a_long_array;
|
42
43
|
|
43
44
|
[Test]
|
44
|
-
[Ignore
|
45
|
+
[Ignore]
|
45
46
|
procedure Should_return_minus_one_if_a_value_is_greater_than_all_elements_in_a_long_array;
|
46
47
|
end;
|
47
48
|
|
@@ -10,74 +10,75 @@ type
|
|
10
10
|
BobTests = class(TObject)
|
11
11
|
public
|
12
12
|
[Test]
|
13
|
+
// [Ignore('Comment the "[Ignore]" statement to run the test')]
|
13
14
|
procedure Stating_something;
|
14
15
|
|
15
16
|
[Test]
|
16
|
-
[Ignore
|
17
|
+
[Ignore]
|
17
18
|
procedure Shouting;
|
18
19
|
|
19
20
|
[Test]
|
20
|
-
[Ignore
|
21
|
+
[Ignore]
|
21
22
|
procedure Asking_a_question;
|
22
23
|
|
23
24
|
[Test]
|
24
|
-
[Ignore
|
25
|
+
[Ignore]
|
25
26
|
procedure Asking_a_question_with_a_trailing_space;
|
26
27
|
|
27
28
|
[Test]
|
28
|
-
[Ignore
|
29
|
+
[Ignore]
|
29
30
|
procedure Asking_a_numeric_question;
|
30
31
|
|
31
32
|
[Test]
|
32
|
-
[Ignore
|
33
|
+
[Ignore]
|
33
34
|
procedure Talking_forcefully;
|
34
35
|
|
35
36
|
[Test]
|
36
|
-
[Ignore
|
37
|
+
[Ignore]
|
37
38
|
procedure Using_acronyms_in_regular_search;
|
38
39
|
|
39
40
|
[Test]
|
40
|
-
[Ignore
|
41
|
+
[Ignore]
|
41
42
|
procedure Forceful_questions;
|
42
43
|
|
43
44
|
[Test]
|
44
|
-
[Ignore
|
45
|
+
[Ignore]
|
45
46
|
procedure Shouting_numbers;
|
46
47
|
|
47
48
|
[Test]
|
48
|
-
[Ignore
|
49
|
+
[Ignore]
|
49
50
|
procedure Only_numbers;
|
50
51
|
|
51
52
|
[Test]
|
52
|
-
[Ignore
|
53
|
+
[Ignore]
|
53
54
|
procedure Question_with_only_numbers;
|
54
55
|
|
55
56
|
[Test]
|
56
|
-
[Ignore
|
57
|
+
[Ignore]
|
57
58
|
procedure Shouting_with_special_characters;
|
58
59
|
|
59
60
|
[Test]
|
60
|
-
[Ignore
|
61
|
+
[Ignore]
|
61
62
|
procedure Shouting_with_no_exclamation_mark;
|
62
63
|
|
63
64
|
[Test]
|
64
|
-
[Ignore
|
65
|
+
[Ignore]
|
65
66
|
procedure Statement_containing_question_mark;
|
66
67
|
|
67
68
|
[Test]
|
68
|
-
[Ignore
|
69
|
+
[Ignore]
|
69
70
|
procedure Prattling_on;
|
70
71
|
|
71
72
|
[Test]
|
72
|
-
[Ignore
|
73
|
+
[Ignore]
|
73
74
|
procedure Silence;
|
74
75
|
|
75
76
|
[Test]
|
76
|
-
[Ignore
|
77
|
+
[Ignore]
|
77
78
|
procedure Prolonged_silence;
|
78
79
|
|
79
80
|
[Test]
|
80
|
-
[Ignore
|
81
|
+
[Ignore]
|
81
82
|
procedure Multiple_line_question;
|
82
83
|
end;
|
83
84
|
|