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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/hamming/canonical-data.json +121 -104
  3. data/lib/trackler/version.rb +1 -1
  4. data/tracks/delphi/.gitignore +40 -2
  5. data/tracks/delphi/config.json +8 -0
  6. data/tracks/delphi/exercises/allergies/{AllergyTests.dpr → Allergies.dpr} +1 -1
  7. data/tracks/delphi/exercises/allergies/uAllergyTests.pas +1 -1
  8. data/tracks/delphi/exercises/bank-account/{BankAccountTests.dpr → BankAccount.dpr} +1 -1
  9. data/tracks/delphi/exercises/bank-account/uBankAccountTests.pas +1 -1
  10. data/tracks/delphi/exercises/beer-song/{BeerSongTests.dpr → BeerSong.dpr} +1 -1
  11. data/tracks/delphi/exercises/beer-song/uBeerSongTests.pas +7 -6
  12. data/tracks/delphi/exercises/binary-search/{BinarySearchTest.dpr → BinarySearch.dpr} +1 -1
  13. data/tracks/delphi/exercises/binary-search/uBinarySearchTest.pas +9 -8
  14. data/tracks/delphi/exercises/bob/uBobTests.pas +18 -17
  15. data/tracks/delphi/exercises/book-store/{BookStoreTests.dpr → BookStore.dpr} +1 -1
  16. data/tracks/delphi/exercises/book-store/uBookStoreTests.pas +12 -11
  17. data/tracks/delphi/exercises/bowling/{BowlingTests.dpr → Bowling.dpr} +1 -1
  18. data/tracks/delphi/exercises/bowling/uBowlingTests.pas +24 -23
  19. data/tracks/delphi/exercises/circular-buffer/{CircularBufferTests.dpr → CircularBuffer.dpr} +1 -1
  20. data/tracks/delphi/exercises/circular-buffer/uCircularBufferTests.pas +1 -1
  21. data/tracks/delphi/exercises/clock/{ClockTest.dpr → Clock.dpr} +1 -1
  22. data/tracks/delphi/exercises/clock/uClockTest.pas +13 -5
  23. data/tracks/delphi/exercises/etl/{ETLtests.dpr → ETL.dpr} +1 -1
  24. data/tracks/delphi/exercises/etl/uETLtests.pas +1 -1
  25. data/tracks/delphi/exercises/grains/{GrainsTests.dpr → Grains.dpr} +1 -1
  26. data/tracks/delphi/exercises/grains/uGrainsTests.pas +11 -10
  27. data/tracks/delphi/exercises/hamming/uHammingTests.pas +1 -0
  28. data/tracks/delphi/exercises/leap/{LeapTest.dpr → Leap.dpr} +1 -1
  29. data/tracks/delphi/exercises/leap/uLeapTests.pas +1 -0
  30. data/tracks/delphi/exercises/nucleotide-count/{NucleotideCountTest.dpr → NucleotideCount.dpr} +1 -1
  31. data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +9 -8
  32. data/tracks/delphi/exercises/perfect-numbers/{PerfectNumbersTest.dpr → PerfectNumbers.dpr} +1 -1
  33. data/tracks/delphi/exercises/perfect-numbers/uPerfectNumbersTest.pas +71 -20
  34. data/tracks/delphi/exercises/phone-number/{PhoneNumberTests.dpr → PhoneNumber.dpr} +1 -1
  35. data/tracks/delphi/exercises/phone-number/uPhoneNumberTests.pas +1 -0
  36. data/tracks/delphi/exercises/poker/uPokerTest.pas +1 -0
  37. data/tracks/delphi/exercises/raindrops/raindrops.dpr +60 -0
  38. data/tracks/delphi/exercises/raindrops/uRaindropsExample.pas +27 -0
  39. data/tracks/delphi/exercises/raindrops/uRaindropsTest.pas +180 -0
  40. data/tracks/delphi/exercises/rna-transcription/{TestRnaTranscription.dpr → RnaTranscription.dpr} +1 -1
  41. data/tracks/delphi/exercises/rna-transcription/uTestRnaTranscription.pas +8 -7
  42. data/tracks/delphi/exercises/saddle-points/{TestSaddlePoints.dpr → SaddlePoints.dpr} +1 -1
  43. data/tracks/delphi/exercises/saddle-points/uSaddlePointsTests.pas +6 -5
  44. data/tracks/go/config.json +12 -4
  45. data/tracks/go/exercises/accumulate/accumulate_test.go +2 -4
  46. data/tracks/go/exercises/luhn/cases_test.go +76 -0
  47. data/tracks/go/exercises/luhn/example.go +26 -26
  48. data/tracks/go/exercises/luhn/example_gen.go +50 -0
  49. data/tracks/go/exercises/luhn/luhn_test.go +1 -14
  50. data/tracks/go/exercises/perfect-numbers/perfect_numbers_test.go +14 -13
  51. data/tracks/java/exercises/rna-transcription/src/example/java/RnaTranscription.java +1 -1
  52. data/tracks/java/exercises/rna-transcription/src/main/java/RnaTranscription.java +5 -0
  53. data/tracks/java/exercises/rna-transcription/src/test/java/RnaTranscriptionTest.java +14 -7
  54. data/tracks/julia/.travis.yml +1 -0
  55. data/tracks/lisp/docs/ABOUT.md +10 -7
  56. data/tracks/lisp/docs/INSTALLATION.md +12 -4
  57. data/tracks/lisp/docs/LEARNING.md +11 -5
  58. data/tracks/lisp/docs/RESOURCES.md +18 -9
  59. data/tracks/lisp/docs/TESTS.md +4 -0
  60. data/tracks/scala/exercises/simple-linked-list/src/test/scala/SimpleLinkedListTest.scala +9 -1
  61. data/tracks/typescript/config.json +6 -0
  62. data/tracks/typescript/exercises/food-chain/food-chain.example.ts +54 -0
  63. data/tracks/typescript/exercises/food-chain/food-chain.test.ts +163 -0
  64. data/tracks/typescript/exercises/food-chain/package.json +37 -0
  65. data/tracks/typescript/exercises/food-chain/tsconfig.json +21 -0
  66. data/tracks/typescript/exercises/food-chain/tslint.json +127 -0
  67. data/tracks/typescript/exercises/food-chain/yarn.lock +2697 -0
  68. metadata +30 -19
  69. 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: 8b091050fe3cc2ae73ee5a8b167c29a75da6b27e
4
- data.tar.gz: 49cb81538e56408fc123e98514ce483560c911a0
3
+ metadata.gz: be4829a9e4c7af9a44b4ff36b33726b1e8b8a763
4
+ data.tar.gz: 4a9e2b1deb132c3610b91ae482f5e8860f5974d8
5
5
  SHA512:
6
- metadata.gz: b8e27dc574836d71a6cb2755b3d314c343670c4b5e72b7e27318790e1b01443804da89aa3cffe814f63c24bea448fcc67442b9c72378abb5aab7cda3872cd87d
7
- data.tar.gz: beaf66dfdaf976e94aa2afa88d7851295a3f6a414cd46467a46cf73788f84700f00e402be3e29b8947da4e5813cefd79ee8edcba0c3ef46ed5faf771a630ce4f
6
+ metadata.gz: 8afa4247bd983207ea963acefc10f4725741a4bc14f3fe84a28f95ae5431085e92ebf42a04faccaa55e87b00dc27417f1c587b0b19131d69c570b2475e609e3e
7
+ data.tar.gz: 81472680474c9394108c90481a29047168554329a87f079c48d4b0f3da2fa71b66c2e221f638f62a78c496aeb0a6a5a675a259e521e473e20c99dc8d26f21757
@@ -1,106 +1,123 @@
1
1
  {
2
- "#": [
3
- "Language implementations vary on the issue of unequal length strands.",
4
- "A language may elect to simplify this task by only presenting equal",
5
- "length test cases. For languages handling unequal length strands as",
6
- "error condition, unequal length test cases are included here and are",
7
- "indicated with an expected value of -1. Note however that -1 is",
8
- "simply an indication here in the JSON. Actually returning -1 from",
9
- "a hamming distance function may or may not be idiomatic in a language.",
10
- "Language idioms of errors or exceptions should be followed.",
11
- "Alternative interpretations such as ignoring excess length at the end",
12
- "are not represented here."
13
- ],
14
- "cases": [
15
- {
16
- "description": "identical strands",
17
- "strand1": "A",
18
- "strand2": "A",
19
- "expected": 0
20
- },
21
- {
22
- "description": "long identical strands",
23
- "strand1": "GGACTGA",
24
- "strand2": "GGACTGA",
25
- "expected": 0
26
- },
27
- {
28
- "description": "complete distance in single nucleotide strands",
29
- "strand1": "A",
30
- "strand2": "G",
31
- "expected": 1
32
- },
33
- {
34
- "description": "complete distance in small strands",
35
- "strand1": "AG",
36
- "strand2": "CT",
37
- "expected": 2
38
- },
39
- {
40
- "description": "small distance in small strands",
41
- "strand1": "AT",
42
- "strand2": "CT",
43
- "expected": 1
44
- },
45
- {
46
- "description": "small distance",
47
- "strand1": "GGACG",
48
- "strand2": "GGTCG",
49
- "expected": 1
50
- },
51
- {
52
- "description": "small distance in long strands",
53
- "strand1": "ACCAGGG",
54
- "strand2": "ACTATGG",
55
- "expected": 2
56
- },
57
- {
58
- "description": "non-unique character in first strand",
59
- "strand1": "AGA",
60
- "strand2": "AGG",
61
- "expected": 1
62
- },
63
- {
64
- "description": "non-unique character in second strand",
65
- "strand1": "AGG",
66
- "strand2": "AGA",
67
- "expected": 1
68
- },
69
- {
70
- "description": "same nucleotides in different positions",
71
- "strand1": "TAG",
72
- "strand2": "GAT",
73
- "expected": 2
74
- },
75
- {
76
- "description": "large distance",
77
- "strand1": "GATACA",
78
- "strand2": "GCATAA",
79
- "expected": 4
80
- },
81
- {
82
- "description": "large distance in off-by-one strand",
83
- "strand1": "GGACGGATTCTG",
84
- "strand2": "AGGACGGATTCT",
85
- "expected": 9
86
- },
87
- {
88
- "description": "empty strands",
89
- "strand1": "",
90
- "strand2": "",
91
- "expected": 0
92
- },
93
- {
94
- "description": "disallow first strand longer",
95
- "strand1": "AATG",
96
- "strand2": "AAA",
97
- "expected": -1
98
- },
99
- {
100
- "description": "disallow second strand longer",
101
- "strand1": "ATA",
102
- "strand2": "AGTG",
103
- "expected": -1
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
  }
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.0.8.12"
2
+ VERSION = "2.0.8.13"
3
3
  end
@@ -1,5 +1,43 @@
1
- *.swp
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
@@ -35,6 +35,14 @@
35
35
  "Transforming"
36
36
  ]
37
37
  },
38
+ {
39
+ "slug": "raindrops",
40
+ "difficulty": 2,
41
+ "topics": [
42
+ "Text formatting",
43
+ "Filtering"
44
+ ]
45
+ },
38
46
  {
39
47
  "slug": "hamming",
40
48
  "difficulty": 2,
@@ -1,4 +1,4 @@
1
- program AllergyTests;
1
+ program Allergies;
2
2
 
3
3
  {$IFNDEF TESTINSIGHT}
4
4
  {$APPTYPE CONSOLE}
@@ -10,7 +10,7 @@ type
10
10
  AllergyTests = class(TObject)
11
11
  public
12
12
  [Test]
13
- [Ignore]
13
+ // [Ignore('Comment the "[Ignore]" statement to run the test')]
14
14
  procedure No_allergies_means_not_allergic;
15
15
 
16
16
  [Test]
@@ -1,4 +1,4 @@
1
- program BankAccountTests;
1
+ program BankAccount;
2
2
 
3
3
  {$IFNDEF TESTINSIGHT}
4
4
  {$APPTYPE CONSOLE}
@@ -10,7 +10,7 @@ type
10
10
  BankAccountTests = class(TObject)
11
11
  public
12
12
  [Test]
13
- [Ignore]
13
+ // [Ignore('Comment the "[Ignore]" statement to run the test')]
14
14
  procedure Returns_empty_balance_after_opening;
15
15
 
16
16
  [Test]
@@ -1,4 +1,4 @@
1
- program BeerSongTests;
1
+ program BeerSong;
2
2
 
3
3
  {$IFNDEF TESTINSIGHT}
4
4
  {$APPTYPE CONSOLE}
@@ -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('Comment this line to run this test')]
17
+ [Ignore]
17
18
  procedure Middle_verse;
18
19
 
19
20
  [Test]
20
- [Ignore('Comment this line to run this test')]
21
+ [Ignore]
21
22
  procedure Third_to_last_verse;
22
23
 
23
24
  [Test]
24
- [Ignore('Comment this line to run this test')]
25
+ [Ignore]
25
26
  procedure Penultimate_verse;
26
27
 
27
28
  [Test]
28
- [Ignore('Comment this line to run this test')]
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('Comment this line to run this test')]
37
+ [Ignore]
37
38
  procedure Last_4_verses;
38
39
 
39
40
  [Test]
40
- [Ignore('Comment this line to run this test')]
41
+ [Ignore]
41
42
  procedure All_verses;
42
43
  end;
43
44
 
@@ -1,4 +1,4 @@
1
- program BinarySearchTest;
1
+ program BinarySearch;
2
2
 
3
3
  {$IFNDEF TESTINSIGHT}
4
4
  {$APPTYPE CONSOLE}
@@ -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('comment this line to activate this test')]
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('comment this line to activate this test')]
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('comment this line to activate this test')]
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('comment this line to activate this test')]
29
+ [Ignore]
29
30
  procedure Should_find_an_element_in_a_longer_array;
30
31
 
31
32
  [Test]
32
- [Ignore('comment this line to activate this test')]
33
+ [Ignore]
33
34
  procedure Should_find_elements_at_the_beginning_of_an_array;
34
35
 
35
36
  [Test]
36
- [Ignore('comment this line to activate this test')]
37
+ [Ignore]
37
38
  procedure Should_find_elements_at_the_end_of_an_array;
38
39
 
39
40
  [Test]
40
- [Ignore('comment this line to activate this test')]
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('comment this line to activate this test')]
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('Comment this line to run this test')]
17
+ [Ignore]
17
18
  procedure Shouting;
18
19
 
19
20
  [Test]
20
- [Ignore('Comment this line to run this test')]
21
+ [Ignore]
21
22
  procedure Asking_a_question;
22
23
 
23
24
  [Test]
24
- [Ignore('Comment this line to run this test')]
25
+ [Ignore]
25
26
  procedure Asking_a_question_with_a_trailing_space;
26
27
 
27
28
  [Test]
28
- [Ignore('Comment this line to run this test')]
29
+ [Ignore]
29
30
  procedure Asking_a_numeric_question;
30
31
 
31
32
  [Test]
32
- [Ignore('Comment this line to run this test')]
33
+ [Ignore]
33
34
  procedure Talking_forcefully;
34
35
 
35
36
  [Test]
36
- [Ignore('Comment this line to run this test')]
37
+ [Ignore]
37
38
  procedure Using_acronyms_in_regular_search;
38
39
 
39
40
  [Test]
40
- [Ignore('Comment this line to run this test')]
41
+ [Ignore]
41
42
  procedure Forceful_questions;
42
43
 
43
44
  [Test]
44
- [Ignore('Comment this line to run this test')]
45
+ [Ignore]
45
46
  procedure Shouting_numbers;
46
47
 
47
48
  [Test]
48
- [Ignore('Comment this line to run this test')]
49
+ [Ignore]
49
50
  procedure Only_numbers;
50
51
 
51
52
  [Test]
52
- [Ignore('Comment this line to run this test')]
53
+ [Ignore]
53
54
  procedure Question_with_only_numbers;
54
55
 
55
56
  [Test]
56
- [Ignore('Comment this line to run this test')]
57
+ [Ignore]
57
58
  procedure Shouting_with_special_characters;
58
59
 
59
60
  [Test]
60
- [Ignore('Comment this line to run this test')]
61
+ [Ignore]
61
62
  procedure Shouting_with_no_exclamation_mark;
62
63
 
63
64
  [Test]
64
- [Ignore('Comment this line to run this test')]
65
+ [Ignore]
65
66
  procedure Statement_containing_question_mark;
66
67
 
67
68
  [Test]
68
- [Ignore('Comment this line to run this test')]
69
+ [Ignore]
69
70
  procedure Prattling_on;
70
71
 
71
72
  [Test]
72
- [Ignore('Comment this line to run this test')]
73
+ [Ignore]
73
74
  procedure Silence;
74
75
 
75
76
  [Test]
76
- [Ignore('Comment this line to run this test')]
77
+ [Ignore]
77
78
  procedure Prolonged_silence;
78
79
 
79
80
  [Test]
80
- [Ignore('Comment this line to run this test')]
81
+ [Ignore]
81
82
  procedure Multiple_line_question;
82
83
  end;
83
84