trackler 2.0.8.12 → 2.0.8.13

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