trackler 2.0.5.13 → 2.0.5.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/common/.travis.yml +1 -0
  3. data/common/bin/check_required_files_present +55 -0
  4. data/lib/trackler/version.rb +1 -1
  5. data/tracks/pascal/exercises/Hello-World/TestHelloWorld.dpr +60 -0
  6. data/tracks/pascal/exercises/Hello-World/TestHelloWorld.dproj +176 -0
  7. data/tracks/pascal/exercises/Hello-World/uHelloWorldExample.pas +24 -0
  8. data/tracks/pascal/exercises/Hello-World/uTestHelloWorld.pas +65 -0
  9. data/tracks/pascal/exercises/allergies/AllergyTests.dpr +60 -0
  10. data/tracks/pascal/exercises/allergies/AllergyTests.dproj +176 -0
  11. data/tracks/pascal/exercises/allergies/uAllergiesExample.pas +67 -0
  12. data/tracks/pascal/exercises/allergies/uAllergyTests.pas +177 -0
  13. data/tracks/pascal/exercises/bank-account/BankAccountTests.dpr +60 -0
  14. data/tracks/pascal/exercises/bank-account/BankAccountTests.dproj +176 -0
  15. data/tracks/pascal/exercises/bank-account/uBankAccountExample.pas +96 -0
  16. data/tracks/pascal/exercises/bank-account/uBankAccountTests.pas +140 -0
  17. data/tracks/pascal/exercises/beer-song/BeerSongTests.dpr +60 -0
  18. data/tracks/pascal/exercises/beer-song/BeerSongTests.dproj +176 -0
  19. data/tracks/pascal/exercises/beer-song/uBeerSongExample.pas +45 -0
  20. data/tracks/pascal/exercises/beer-song/uBeerSongTests.pas +84 -0
  21. data/tracks/pascal/exercises/binary-search/BinarySearchTest.dpr +60 -0
  22. data/tracks/pascal/exercises/binary-search/BinarySearchTest.dproj +176 -0
  23. data/tracks/pascal/exercises/binary-search/uBinarySearchExample.pas +40 -0
  24. data/tracks/pascal/exercises/binary-search/uBinarySearchTest.pas +132 -0
  25. data/tracks/pascal/exercises/bob/BobTests.dpr +60 -0
  26. data/tracks/pascal/exercises/bob/BobTests.dproj +176 -0
  27. data/tracks/pascal/exercises/bob/uBobExample.pas +47 -0
  28. data/tracks/pascal/exercises/bob/uBobTests.pas +180 -0
  29. data/tracks/pascal/exercises/book-store/BookStoreTests.dpr +60 -0
  30. data/tracks/pascal/exercises/book-store/BookStoreTests.dproj +176 -0
  31. data/tracks/pascal/exercises/book-store/uBookStoreExample.pas +144 -0
  32. data/tracks/pascal/exercises/book-store/uBookStoreTests.pas +56 -0
  33. data/tracks/pascal/exercises/bowling/BowlingTests.dpr +60 -0
  34. data/tracks/pascal/exercises/bowling/BowlingTests.dproj +176 -0
  35. data/tracks/pascal/exercises/bowling/uBowlingExample.pas +105 -0
  36. data/tracks/pascal/exercises/bowling/uBowlingTests.pas +101 -0
  37. data/tracks/pascal/exercises/circular-buffer/CircularBufferTests.dpr +60 -0
  38. data/tracks/pascal/exercises/circular-buffer/CircularBufferTests.dproj +176 -0
  39. data/tracks/pascal/exercises/circular-buffer/uCircularBufferExample.pas +72 -0
  40. data/tracks/pascal/exercises/circular-buffer/uCircularBufferTests.pas +249 -0
  41. data/tracks/pascal/exercises/clock/ClockTest.dpr +60 -0
  42. data/tracks/pascal/exercises/clock/ClockTest.dproj +176 -0
  43. data/tracks/pascal/exercises/clock/uClockExample.pas +54 -0
  44. data/tracks/pascal/exercises/clock/uClockTest.pas +157 -0
  45. data/tracks/pascal/exercises/etl/ETLtests.dpr +60 -0
  46. data/tracks/pascal/exercises/etl/ETLtests.dproj +176 -0
  47. data/tracks/pascal/exercises/etl/uETLexample.pas +25 -0
  48. data/tracks/pascal/exercises/etl/uETLtests.pas +191 -0
  49. data/tracks/pascal/exercises/hamming/Hamming.dpr +60 -0
  50. data/tracks/pascal/exercises/hamming/Hamming.dproj +176 -0
  51. data/tracks/pascal/exercises/hamming/uHammingExample.pas +24 -0
  52. data/tracks/pascal/exercises/hamming/uHammingTests.pas +165 -0
  53. data/tracks/pascal/exercises/leap/LeapTest.dpr +60 -0
  54. data/tracks/pascal/exercises/leap/LeapTest.dproj +176 -0
  55. data/tracks/pascal/exercises/leap/uLeapExample.pas +17 -0
  56. data/tracks/pascal/exercises/leap/uLeapTests.pas +81 -0
  57. data/tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dpr +60 -0
  58. data/tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dproj +176 -0
  59. data/tracks/pascal/exercises/nucleotide-count/uNucleotideCountExample.pas +72 -0
  60. data/tracks/pascal/exercises/nucleotide-count/uNucleotideCountTest.pas +190 -0
  61. data/tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dpr +60 -0
  62. data/tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dproj +176 -0
  63. data/tracks/pascal/exercises/perfect-numbers/uPerfectNumbersExample.pas +34 -0
  64. data/tracks/pascal/exercises/perfect-numbers/uPerfectNumbersTest.pas +48 -0
  65. data/tracks/pascal/exercises/phone-number/PhoneNumberTests.dpr +60 -0
  66. data/tracks/pascal/exercises/phone-number/PhoneNumberTests.dproj +176 -0
  67. data/tracks/pascal/exercises/phone-number/uPhoneNumberExample.pas +102 -0
  68. data/tracks/pascal/exercises/phone-number/uPhoneNumberTests.pas +138 -0
  69. data/tracks/php/exercises/variable-length-quantity/variable-length-quantity_test.php +1 -1
  70. data/tracks/ruby/Gemfile +0 -1
  71. data/tracks/ruby/Makefile +2 -1
  72. data/tracks/ruby/Rakefile +3 -0
  73. data/tracks/ruby/exercises/simple-linked-list/.meta/.version +1 -0
  74. data/tracks/ruby/exercises/simple-linked-list/example.rb +39 -48
  75. data/tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb +99 -125
  76. data/tracks/ruby/exercises/wordy/.meta/.version +1 -0
  77. data/tracks/ruby/exercises/wordy/example.rb +4 -0
  78. data/tracks/ruby/exercises/wordy/example.tt +17 -0
  79. data/tracks/ruby/exercises/wordy/wordy_test.rb +66 -35
  80. data/tracks/ruby/lib/wordy_cases.rb +67 -0
  81. data/tracks/ruby/test/wordy_cases_test.rb +102 -0
  82. data/tracks/scala/config.json +7 -1
  83. data/tracks/scala/exercises/connect/{README.md → HINTS.md} +1 -12
  84. data/tracks/scala/exercises/connect/build.sbt +2 -2
  85. metadata +73 -3
@@ -0,0 +1,17 @@
1
+ require 'minitest/autorun'
2
+ require_relative 'wordy'
3
+
4
+ # Test data version: <%= sha1 %>
5
+ class WordyTest < Minitest::Test<% test_cases.each do |test_case| %>
6
+ def <%= test_case.test_name %>
7
+ <%= test_case.skipped %>
8
+ <%= test_case.workload %>
9
+ end
10
+ <% end %>
11
+
12
+ <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
13
+ def test_bookkeeping
14
+ skip
15
+ assert_equal <%= version.next %>, BookKeeping::VERSION
16
+ end
17
+ end
@@ -1,97 +1,128 @@
1
- #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
1
  require 'minitest/autorun'
4
2
  require_relative 'wordy'
5
3
 
6
- class WordProblemTest < Minitest::Test
7
- def test_add_1
8
- assert_equal 2, WordProblem.new('What is 1 plus 1?').answer
4
+ # Test data version: aa12f2e
5
+ class WordyTest < Minitest::Test
6
+ def test_addition
7
+ # skip
8
+ question = 'What is 1 plus 1?'
9
+ assert_equal(2, WordProblem.new(question).answer)
9
10
  end
10
11
 
11
- def test_add_2
12
+ def test_more_addition
12
13
  skip
13
- assert_equal 55, WordProblem.new('What is 53 plus 2?').answer
14
+ question = 'What is 53 plus 2?'
15
+ assert_equal(55, WordProblem.new(question).answer)
14
16
  end
15
17
 
16
- def test_add_negative_numbers
18
+ def test_addition_with_negative_numbers
17
19
  skip
18
- assert_equal(-11, WordProblem.new('What is -1 plus -10?').answer)
20
+ question = 'What is -1 plus -10?'
21
+ assert_equal(-11, WordProblem.new(question).answer)
19
22
  end
20
23
 
21
- def test_add_more_digits
24
+ def test_large_addition
22
25
  skip
23
- assert_equal 45_801, WordProblem.new('What is 123 plus 45678?').answer
26
+ question = 'What is 123 plus 45678?'
27
+ assert_equal(45801, WordProblem.new(question).answer)
24
28
  end
25
29
 
26
- def test_subtract
30
+ def test_subtraction
27
31
  skip
28
- assert_equal 16, WordProblem.new('What is 4 minus -12?').answer
32
+ question = 'What is 4 minus -12?'
33
+ assert_equal(16, WordProblem.new(question).answer)
29
34
  end
30
35
 
31
- def test_multiply
36
+ def test_multiplication
32
37
  skip
33
- assert_equal(-75, WordProblem.new('What is -3 multiplied by 25?').answer)
38
+ question = 'What is -3 multiplied by 25?'
39
+ assert_equal(-75, WordProblem.new(question).answer)
34
40
  end
35
41
 
36
- def test_divide
42
+ def test_division
37
43
  skip
38
- assert_equal(-11, WordProblem.new('What is 33 divided by -3?').answer)
44
+ question = 'What is 33 divided by -3?'
45
+ assert_equal(-11, WordProblem.new(question).answer)
39
46
  end
40
47
 
41
- def test_add_twice
48
+ def test_multiple_additions
42
49
  skip
43
50
  question = 'What is 1 plus 1 plus 1?'
44
- assert_equal 3, WordProblem.new(question).answer
51
+ assert_equal(3, WordProblem.new(question).answer)
45
52
  end
46
53
 
47
- def test_add_then_subtract
54
+ def test_addition_and_subtraction
48
55
  skip
49
56
  question = 'What is 1 plus 5 minus -2?'
50
- assert_equal 8, WordProblem.new(question).answer
57
+ assert_equal(8, WordProblem.new(question).answer)
51
58
  end
52
59
 
53
- def test_subtract_twice
60
+ def test_multiple_subtraction
54
61
  skip
55
62
  question = 'What is 20 minus 4 minus 13?'
56
- assert_equal 3, WordProblem.new(question).answer
63
+ assert_equal(3, WordProblem.new(question).answer)
57
64
  end
58
65
 
59
- def test_subtract_then_add
66
+ def test_subtraction_then_addition
60
67
  skip
61
68
  question = 'What is 17 minus 6 plus 3?'
62
- assert_equal 14, WordProblem.new(question).answer
69
+ assert_equal(14, WordProblem.new(question).answer)
63
70
  end
64
71
 
65
- def test_multiply_twice
72
+ def test_multiple_multiplication
66
73
  skip
67
74
  question = 'What is 2 multiplied by -2 multiplied by 3?'
68
75
  assert_equal(-12, WordProblem.new(question).answer)
69
76
  end
70
77
 
71
- def test_add_then_multiply
78
+ def test_addition_and_multiplication
72
79
  skip
73
80
  question = 'What is -3 plus 7 multiplied by -2?'
74
- message = 'You should ignore order of precedence. -3 + 7 * -2 = -8, not -17'
75
- assert_equal(-8, WordProblem.new(question).answer, message)
81
+ answer = WordProblem.new(question).answer
82
+ message = "You should ignore order of precedence. -3 + 7 * -2 = -8, not #{answer}"
83
+ assert_equal(-8, answer, message)
76
84
  end
77
85
 
78
- def test_divide_twice
86
+ def test_multiple_division
79
87
  skip
80
88
  question = 'What is -12 divided by 2 divided by -3?'
81
- assert_equal 2, WordProblem.new(question).answer
89
+ assert_equal(2, WordProblem.new(question).answer)
82
90
  end
83
91
 
84
- def test_too_advanced
92
+ def test_unknown_operation
85
93
  skip
94
+ question = 'What is 52 cubed?'
86
95
  assert_raises ArgumentError do
87
- WordProblem.new('What is 53 cubed?').answer
96
+ WordProblem.new(question).answer
88
97
  end
89
98
  end
90
99
 
91
- def test_irrelevant
100
+ def test_non_math_question
92
101
  skip
102
+ question = 'Who is the President of the United States?'
93
103
  assert_raises ArgumentError do
94
- WordProblem.new('Who is the president of the United States?').answer
104
+ WordProblem.new(question).answer
95
105
  end
96
106
  end
107
+
108
+ # Problems in exercism evolve over time, as we find better ways to ask
109
+ # questions.
110
+ # The version number refers to the version of the problem you solved,
111
+ # not your solution.
112
+ #
113
+ # Define a constant named VERSION inside of the top level BookKeeping
114
+ # module, which may be placed near the end of your file.
115
+ #
116
+ # In your file, it will look like this:
117
+ #
118
+ # module BookKeeping
119
+ # VERSION = 1 # Where the version number matches the one in the test.
120
+ # end
121
+ #
122
+ # If you are curious, read more about constants on RubyDoc:
123
+ # http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
124
+ def test_bookkeeping
125
+ skip
126
+ assert_equal 1, BookKeeping::VERSION
127
+ end
97
128
  end
@@ -0,0 +1,67 @@
1
+ class WordyCase < OpenStruct
2
+ def test_name
3
+ 'test_%s' % description.downcase.tr(' ', '_')
4
+ end
5
+
6
+ def workload
7
+ [
8
+ "question = '#{input}'",
9
+ indent(4, assertion),
10
+ ].join("\n")
11
+ end
12
+
13
+ def skipped
14
+ index.zero? ? '# skip' : 'skip'
15
+ end
16
+
17
+ private
18
+
19
+ def indent(size, lines)
20
+ lines.lines.each_with_object('') { |line, obj| obj << ' ' * size + line }
21
+ end
22
+
23
+ def assertion
24
+ return error_assertion unless expected
25
+ return message_assertion if message
26
+
27
+ "assert_equal(#{expected}, WordProblem.new(question).answer)"
28
+ end
29
+
30
+ def error_assertion
31
+ [
32
+ 'assert_raises ArgumentError do',
33
+ indent(2, 'WordProblem.new(question).answer'),
34
+ 'end',
35
+ ].join("\n")
36
+ end
37
+
38
+ def message_assertion
39
+ [
40
+ 'answer = WordProblem.new(question).answer',
41
+ "message = \"#{message % '#{answer}'}\"",
42
+ "assert_equal(#{expected}, answer, message)",
43
+ ].join("\n")
44
+ end
45
+ end
46
+
47
+ class WordyCase::PreProcessor
48
+ class << self
49
+ def call(row)
50
+ row.merge('message' => message_for(row))
51
+ end
52
+
53
+ private
54
+
55
+ def message_for(row)
56
+ return unless row['input'] == 'What is -3 plus 7 multiplied by -2?'
57
+
58
+ 'You should ignore order of precedence. -3 + 7 * -2 = -8, not %s'
59
+ end
60
+ end
61
+ end
62
+
63
+ WordyCases = proc do |data|
64
+ JSON.parse(data)['cases'].map.with_index do |row, i|
65
+ WordyCase.new(WordyCase::PreProcessor.call(row).merge(index: i))
66
+ end
67
+ end
@@ -0,0 +1,102 @@
1
+ require_relative 'test_helper'
2
+
3
+ class WordyCaseTest < Minitest::Test
4
+ def test_test_name
5
+ test_case = WordyCase.new(description: 'description')
6
+
7
+ assert_equal 'test_description', test_case.test_name
8
+ end
9
+
10
+ def test_test_name_with_description_with_spaces
11
+ test_case = WordyCase.new(description: 'description with spaces')
12
+
13
+ assert_equal 'test_description_with_spaces', test_case.test_name
14
+ end
15
+
16
+ def test_skipped_with_zero_index
17
+ test_case = WordyCase.new(index: 0)
18
+
19
+ assert_equal '# skip', test_case.skipped
20
+ end
21
+
22
+ def test_skipped_with_non_zero_index
23
+ test_case = WordyCase.new(index: 1)
24
+
25
+ assert_equal 'skip', test_case.skipped
26
+ end
27
+
28
+ def test_workload_with_expected_and_no_message
29
+ test_case = WordyCase.new(expected: 1, input: 1)
30
+
31
+ expected_workload = [
32
+ 'question = \'1\'',
33
+ ' assert_equal(1, WordProblem.new(question).answer)',
34
+ ].join("\n")
35
+
36
+ assert_equal expected_workload, test_case.workload
37
+ end
38
+
39
+ def test_workload_with_expected_and_message
40
+ test_case = WordyCase.new(expected: 1, input: 1, message: 'test %s')
41
+
42
+ expected_workload = [
43
+ 'question = \'1\'',
44
+ ' answer = WordProblem.new(question).answer',
45
+ ' message = "test #{answer}"',
46
+ ' assert_equal(1, answer, message)',
47
+ ].join("\n")
48
+
49
+ assert_equal expected_workload, test_case.workload
50
+ end
51
+
52
+ def test_workload_without_expected
53
+ test_case = WordyCase.new(input: 1)
54
+
55
+ expected_workload = [
56
+ 'question = \'1\'',
57
+ ' assert_raises ArgumentError do',
58
+ ' WordProblem.new(question).answer',
59
+ ' end',
60
+ ].join("\n")
61
+
62
+ assert_equal expected_workload, test_case.workload
63
+ end
64
+ end
65
+
66
+ class WordyCasePrProcessorTest < Minitest::Test
67
+ def test_call_as_non_special_case
68
+ row = { 'input' => '' }
69
+ processed_row = WordyCase::PreProcessor.call(row)
70
+
71
+ assert_equal({ 'input' => '', 'message' => nil }, processed_row)
72
+ end
73
+
74
+ def test_call_as_special_case
75
+ row = { 'input' => 'What is -3 plus 7 multiplied by -2?' }
76
+ processed_row = WordyCase::PreProcessor.call(row)
77
+ expected_row = {
78
+ 'input' => 'What is -3 plus 7 multiplied by -2?',
79
+ 'message' => 'You should ignore order of precedence. -3 + 7 * -2 = -8, not %s',
80
+ }
81
+
82
+ assert_equal expected_row, processed_row
83
+ end
84
+ end
85
+
86
+ class WordyCasesTest < Minitest::Test
87
+ def test_call
88
+ json = {
89
+ cases: [
90
+ { description: 'test 1' },
91
+ { description: 'test 2' },
92
+ ]
93
+ }.to_json
94
+
95
+ expected_cases = [
96
+ WordyCase.new(description: 'test 1', message: nil, index: 0),
97
+ WordyCase.new(description: 'test 2', message: nil, index: 1),
98
+ ]
99
+
100
+ assert_equal expected_cases, WordyCases.call(json)
101
+ end
102
+ end
@@ -24,7 +24,7 @@
24
24
  "slug": "sum-of-multiples",
25
25
  "difficulty": 1,
26
26
  "topics": [
27
- "Filtering",
27
+ "Filtering",
28
28
  "Sets"
29
29
  ]
30
30
  },
@@ -400,6 +400,12 @@
400
400
  "slug": "connect",
401
401
  "difficulty": 1,
402
402
  "topics": [
403
+ "Recursion",
404
+ "Graphs",
405
+ "Optional values",
406
+ "Algorithms",
407
+ "Games",
408
+ "Searching"
403
409
  ]
404
410
  },
405
411
  {
@@ -1,15 +1,4 @@
1
- # Connect
2
-
3
- Determine a winner.
4
-
5
- The Scala exercises assume an SBT project scheme. The exercise solution source should be placed within the exercise directory/src/main/scala. The exercise unit tests can be found within the exercise directory/src/test/scala.
6
-
7
- To run the tests simply run the command `sbt test` in the exercise directory.
8
-
9
- For more detailed info about the Scala track see the [help page](http://help.exercism.io/getting-started-with-scala.html).
10
-
11
- ### Note
12
-
1
+ ## Hints
13
2
  You may notice that some test cases seem unfair. However, they may be legitimately so. For example, it is common to give young or beginner players an extra n pieces at fixed positions on the board, so mismatched piece counts can occur in an otherwise fully legal game.
14
3
 
15
4
  In any case, this exercise cares only about determining a winner for a game that can have a variety of parameters, like board length and extra pieces. It is not interested in any other state of the game, such as who moved where, when, or whose turn it is.
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5.13
4
+ version: 2.0.5.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-28 00:00:00.000000000 Z
11
+ date: 2016-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -111,6 +111,7 @@ files:
111
111
  - common/LICENSE
112
112
  - common/README.md
113
113
  - common/TOPICS.txt
114
+ - common/bin/check_required_files_present
114
115
  - common/bin/jsonlint
115
116
  - common/exercises/accumulate/description.md
116
117
  - common/exercises/accumulate/metadata.yml
@@ -5051,6 +5052,70 @@ files:
5051
5052
  - tracks/pascal/docs/RESOURCES.md
5052
5053
  - tracks/pascal/docs/TESTS.md
5053
5054
  - tracks/pascal/exercises/.keep
5055
+ - tracks/pascal/exercises/Hello-World/TestHelloWorld.dpr
5056
+ - tracks/pascal/exercises/Hello-World/TestHelloWorld.dproj
5057
+ - tracks/pascal/exercises/Hello-World/uHelloWorldExample.pas
5058
+ - tracks/pascal/exercises/Hello-World/uTestHelloWorld.pas
5059
+ - tracks/pascal/exercises/allergies/AllergyTests.dpr
5060
+ - tracks/pascal/exercises/allergies/AllergyTests.dproj
5061
+ - tracks/pascal/exercises/allergies/uAllergiesExample.pas
5062
+ - tracks/pascal/exercises/allergies/uAllergyTests.pas
5063
+ - tracks/pascal/exercises/bank-account/BankAccountTests.dpr
5064
+ - tracks/pascal/exercises/bank-account/BankAccountTests.dproj
5065
+ - tracks/pascal/exercises/bank-account/uBankAccountExample.pas
5066
+ - tracks/pascal/exercises/bank-account/uBankAccountTests.pas
5067
+ - tracks/pascal/exercises/beer-song/BeerSongTests.dpr
5068
+ - tracks/pascal/exercises/beer-song/BeerSongTests.dproj
5069
+ - tracks/pascal/exercises/beer-song/uBeerSongExample.pas
5070
+ - tracks/pascal/exercises/beer-song/uBeerSongTests.pas
5071
+ - tracks/pascal/exercises/binary-search/BinarySearchTest.dpr
5072
+ - tracks/pascal/exercises/binary-search/BinarySearchTest.dproj
5073
+ - tracks/pascal/exercises/binary-search/uBinarySearchExample.pas
5074
+ - tracks/pascal/exercises/binary-search/uBinarySearchTest.pas
5075
+ - tracks/pascal/exercises/bob/BobTests.dpr
5076
+ - tracks/pascal/exercises/bob/BobTests.dproj
5077
+ - tracks/pascal/exercises/bob/uBobExample.pas
5078
+ - tracks/pascal/exercises/bob/uBobTests.pas
5079
+ - tracks/pascal/exercises/book-store/BookStoreTests.dpr
5080
+ - tracks/pascal/exercises/book-store/BookStoreTests.dproj
5081
+ - tracks/pascal/exercises/book-store/uBookStoreExample.pas
5082
+ - tracks/pascal/exercises/book-store/uBookStoreTests.pas
5083
+ - tracks/pascal/exercises/bowling/BowlingTests.dpr
5084
+ - tracks/pascal/exercises/bowling/BowlingTests.dproj
5085
+ - tracks/pascal/exercises/bowling/uBowlingExample.pas
5086
+ - tracks/pascal/exercises/bowling/uBowlingTests.pas
5087
+ - tracks/pascal/exercises/circular-buffer/CircularBufferTests.dpr
5088
+ - tracks/pascal/exercises/circular-buffer/CircularBufferTests.dproj
5089
+ - tracks/pascal/exercises/circular-buffer/uCircularBufferExample.pas
5090
+ - tracks/pascal/exercises/circular-buffer/uCircularBufferTests.pas
5091
+ - tracks/pascal/exercises/clock/ClockTest.dpr
5092
+ - tracks/pascal/exercises/clock/ClockTest.dproj
5093
+ - tracks/pascal/exercises/clock/uClockExample.pas
5094
+ - tracks/pascal/exercises/clock/uClockTest.pas
5095
+ - tracks/pascal/exercises/etl/ETLtests.dpr
5096
+ - tracks/pascal/exercises/etl/ETLtests.dproj
5097
+ - tracks/pascal/exercises/etl/uETLexample.pas
5098
+ - tracks/pascal/exercises/etl/uETLtests.pas
5099
+ - tracks/pascal/exercises/hamming/Hamming.dpr
5100
+ - tracks/pascal/exercises/hamming/Hamming.dproj
5101
+ - tracks/pascal/exercises/hamming/uHammingExample.pas
5102
+ - tracks/pascal/exercises/hamming/uHammingTests.pas
5103
+ - tracks/pascal/exercises/leap/LeapTest.dpr
5104
+ - tracks/pascal/exercises/leap/LeapTest.dproj
5105
+ - tracks/pascal/exercises/leap/uLeapExample.pas
5106
+ - tracks/pascal/exercises/leap/uLeapTests.pas
5107
+ - tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dpr
5108
+ - tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dproj
5109
+ - tracks/pascal/exercises/nucleotide-count/uNucleotideCountExample.pas
5110
+ - tracks/pascal/exercises/nucleotide-count/uNucleotideCountTest.pas
5111
+ - tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dpr
5112
+ - tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dproj
5113
+ - tracks/pascal/exercises/perfect-numbers/uPerfectNumbersExample.pas
5114
+ - tracks/pascal/exercises/perfect-numbers/uPerfectNumbersTest.pas
5115
+ - tracks/pascal/exercises/phone-number/PhoneNumberTests.dpr
5116
+ - tracks/pascal/exercises/phone-number/PhoneNumberTests.dproj
5117
+ - tracks/pascal/exercises/phone-number/uPhoneNumberExample.pas
5118
+ - tracks/pascal/exercises/phone-number/uPhoneNumberTests.pas
5054
5119
  - tracks/pascal/img/.keep
5055
5120
  - tracks/perl5/.git
5056
5121
  - tracks/perl5/.gitignore
@@ -6043,6 +6108,7 @@ files:
6043
6108
  - tracks/ruby/exercises/sieve/sieve_test.rb
6044
6109
  - tracks/ruby/exercises/simple-cipher/example.rb
6045
6110
  - tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb
6111
+ - tracks/ruby/exercises/simple-linked-list/.meta/.version
6046
6112
  - tracks/ruby/exercises/simple-linked-list/example.rb
6047
6113
  - tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb
6048
6114
  - tracks/ruby/exercises/space-age/example.rb
@@ -6076,7 +6142,9 @@ files:
6076
6142
  - tracks/ruby/exercises/word-count/example.rb
6077
6143
  - tracks/ruby/exercises/word-count/example.tt
6078
6144
  - tracks/ruby/exercises/word-count/word_count_test.rb
6145
+ - tracks/ruby/exercises/wordy/.meta/.version
6079
6146
  - tracks/ruby/exercises/wordy/example.rb
6147
+ - tracks/ruby/exercises/wordy/example.tt
6080
6148
  - tracks/ruby/exercises/wordy/wordy_test.rb
6081
6149
  - tracks/ruby/img/icon.png
6082
6150
  - tracks/ruby/lib/acronym_cases.rb
@@ -6113,6 +6181,7 @@ files:
6113
6181
  - tracks/ruby/lib/triangle_cases.rb
6114
6182
  - tracks/ruby/lib/two_bucket_cases.rb
6115
6183
  - tracks/ruby/lib/word_count_cases.rb
6184
+ - tracks/ruby/lib/wordy_cases.rb
6116
6185
  - tracks/ruby/test/fixtures/exercises/alpha/.meta/.version
6117
6186
  - tracks/ruby/test/fixtures/exercises/alpha/alpha_test.rb
6118
6187
  - tracks/ruby/test/fixtures/exercises/alpha/example.rb
@@ -6120,6 +6189,7 @@ files:
6120
6189
  - tracks/ruby/test/fixtures/metadata/exercises/alpha/canonical-data.json
6121
6190
  - tracks/ruby/test/generator_test.rb
6122
6191
  - tracks/ruby/test/test_helper.rb
6192
+ - tracks/ruby/test/wordy_cases_test.rb
6123
6193
  - tracks/rust/.git
6124
6194
  - tracks/rust/.gitignore
6125
6195
  - tracks/rust/.travis.yml
@@ -6469,7 +6539,7 @@ files:
6469
6539
  - tracks/scala/exercises/clock/example.scala
6470
6540
  - tracks/scala/exercises/clock/src/main/scala/.keep
6471
6541
  - tracks/scala/exercises/clock/src/test/scala/ClockTest.scala
6472
- - tracks/scala/exercises/connect/README.md
6542
+ - tracks/scala/exercises/connect/HINTS.md
6473
6543
  - tracks/scala/exercises/connect/build.sbt
6474
6544
  - tracks/scala/exercises/connect/example.scala
6475
6545
  - tracks/scala/exercises/connect/src/main/scala/.keep