trackler 2.0.6.10 → 2.0.6.11
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/circular-buffer/canonical-data.json +343 -0
- data/common/exercises/luhn/description.md +4 -1
- data/common/exercises/secret-handshake/canonical-data.json +67 -0
- data/common/exercises/secret-handshake/description.md +6 -8
- data/common/exercises/variable-length-quantity/canonical-data.json +147 -0
- data/lib/trackler/version.rb +1 -1
- data/tracks/ceylon/.gitignore +1 -0
- data/tracks/ceylon/.travis.yml +6 -1
- data/tracks/ceylon/README.md +143 -4
- data/tracks/ceylon/bin/test-all-exercises +13 -0
- data/tracks/ceylon/bin/test-exercise +30 -0
- data/tracks/ceylon/config.json +33 -3
- data/tracks/ceylon/{SETUP.md → exercises/TRACK_HINTS.md} +0 -0
- data/tracks/ceylon/exercises/anagram/example/Anagram.ceylon +8 -0
- data/tracks/ceylon/exercises/anagram/source/anagram/Anagram.ceylon +3 -0
- data/tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon +47 -0
- data/tracks/ceylon/exercises/anagram/source/anagram/module.ceylon +3 -0
- data/tracks/ceylon/exercises/bracket-push/example/Brackets.ceylon +18 -0
- data/tracks/ceylon/exercises/bracket-push/example/module.ceylon +4 -0
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon +3 -0
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +37 -0
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon +3 -0
- data/tracks/ceylon/exercises/leap/example/Leap.ceylon +3 -0
- data/tracks/ceylon/exercises/leap/source/leap/Leap.ceylon +3 -0
- data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +10 -0
- data/tracks/ceylon/exercises/leap/source/leap/module.ceylon +3 -0
- data/tracks/ceylon/exercises/sieve/example/Sieve.ceylon +24 -0
- data/tracks/ceylon/exercises/sieve/example/module.ceylon +4 -0
- data/tracks/ceylon/exercises/sieve/source/sieve/Sieve.ceylon +3 -0
- data/tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon +23 -0
- data/tracks/ceylon/exercises/sieve/source/sieve/module.ceylon +3 -0
- data/tracks/csharp/.travis.yml +4 -0
- data/tracks/elm/SETUP.md +5 -4
- data/tracks/fsharp/.travis.yml +4 -0
- data/tracks/go/config.json +6 -2
- data/tracks/go/exercises/luhn/example.go +5 -4
- data/tracks/go/exercises/luhn/luhn_test.go +18 -34
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +10 -13
- data/tracks/lua/docs/ABOUT.md +1 -1
- data/tracks/lua/docs/LEARNING.md +1 -0
- data/tracks/lua/docs/RESOURCES.md +6 -1
- data/tracks/lua/exercises/flatten-array/flatten-array_spec.lua +11 -0
- data/tracks/lua/exercises/luhn/example.lua +11 -27
- data/tracks/lua/exercises/luhn/luhn_spec.lua +12 -39
- data/tracks/ocaml/exercises/all-your-base/all_your_base.mli +0 -2
- data/tracks/ocaml/exercises/bracket-push/bracket_push.mli +0 -2
- data/tracks/ocaml/exercises/luhn/example.ml +12 -16
- data/tracks/ocaml/exercises/luhn/luhn.mli +1 -2
- data/tracks/ocaml/exercises/luhn/test.ml +15 -12
- data/tracks/php/config.json +8 -0
- data/tracks/php/exercises/grains/example.php +63 -0
- data/tracks/php/exercises/grains/grains_test.php +82 -0
- data/tracks/pony/config.json +26 -14
- data/tracks/pony/exercises/anagram/example.pony +17 -73
- data/tracks/pony/exercises/anagram/test.pony +6 -13
- data/tracks/pony/exercises/bob/example.pony +24 -24
- data/tracks/pony/exercises/bob/test.pony +16 -34
- data/tracks/pony/exercises/difference-of-squares/example.pony +13 -25
- data/tracks/pony/exercises/difference-of-squares/test.pony +9 -16
- data/tracks/pony/exercises/hamming/example.pony +8 -23
- data/tracks/pony/exercises/hamming/test.pony +16 -30
- data/tracks/pony/exercises/hello-world/example.pony +3 -9
- data/tracks/pony/exercises/hello-world/test.pony +2 -11
- data/tracks/pony/exercises/leap/example.pony +4 -10
- data/tracks/pony/exercises/leap/test.pony +2 -11
- data/tracks/ruby/lib/generator/command_line.rb +5 -6
- data/tracks/ruby/lib/generator/repository.rb +13 -13
- data/tracks/ruby/lib/tasks/exercise_test_tasks.rb +2 -4
- data/tracks/ruby/lib/tasks/exercise_tests_runner.rb +6 -8
- data/tracks/ruby/test/generator/repository_test.rb +26 -34
- data/tracks/rust/README.md +1 -1
- data/tracks/scheme/config.json +5 -0
- data/tracks/scheme/docs/ABOUT.md +7 -0
- data/tracks/scheme/exercises/scrabble-score/example.scm +16 -0
- data/tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm +57 -0
- data/tracks/scheme/exercises/scrabble-score/scrabble-score.scm +2 -0
- metadata +33 -5
- data/tracks/ceylon/exercises/.keep +0 -0
- data/tracks/ceylon/img/.keep +0 -0
@@ -33,30 +33,30 @@ module Generator
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
+
# This exists to give us a clue as to what we are delegating to.
|
37
|
+
class RepositoryDelegator < SimpleDelegator
|
38
|
+
end
|
39
|
+
|
36
40
|
# A repository that also logs its progress.
|
37
|
-
class LoggingRepository <
|
38
|
-
def initialize(
|
39
|
-
|
41
|
+
class LoggingRepository < RepositoryDelegator
|
42
|
+
def initialize(repository:, logger:)
|
43
|
+
__setobj__ @repository = repository
|
40
44
|
@logger = logger
|
41
45
|
end
|
42
46
|
|
43
47
|
def update_tests_version
|
44
|
-
|
45
|
-
@logger.
|
48
|
+
@repository.update_tests_version
|
49
|
+
@logger.debug "Incremented tests version to #{version}"
|
46
50
|
end
|
47
51
|
|
48
52
|
def update_example_solution
|
49
|
-
|
50
|
-
@logger.
|
53
|
+
@repository.update_example_solution
|
54
|
+
@logger.debug "Updated version in example solution to #{version}"
|
51
55
|
end
|
52
56
|
|
53
57
|
def create_tests_file
|
54
|
-
|
55
|
-
@logger.info "Generated tests
|
58
|
+
@repository.create_tests_file
|
59
|
+
@logger.info "Generated #{exercise_name} tests version #{version}"
|
56
60
|
end
|
57
61
|
end
|
58
|
-
|
59
|
-
# This exists to give us a clue as to what we are delegating to.
|
60
|
-
class RepositoryDelegator < SimpleDelegator
|
61
|
-
end
|
62
62
|
end
|
@@ -21,10 +21,8 @@ class ExerciseTestTasks
|
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
-
attr_reader :options, :test_runner
|
25
|
-
|
26
24
|
def exercises
|
27
|
-
@
|
25
|
+
@exercises ||= Exercise.all
|
28
26
|
end
|
29
27
|
|
30
28
|
def define_task_for_all_exercises
|
@@ -34,7 +32,7 @@ class ExerciseTestTasks
|
|
34
32
|
|
35
33
|
def define_task_for(exercise)
|
36
34
|
task exercise do
|
37
|
-
test_runner.new(exercise: exercise, test_options: options).run
|
35
|
+
@test_runner.new(exercise: exercise, test_options: @options).run
|
38
36
|
end
|
39
37
|
end
|
40
38
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'rake/file_utils_ext'
|
2
2
|
require 'tmpdir'
|
3
3
|
|
4
4
|
class ExerciseTestsRunner
|
@@ -10,9 +10,9 @@ class ExerciseTestsRunner
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def run
|
13
|
-
puts "\n\n#{'-'*64}\nrunning tests for: #{exercise}"
|
13
|
+
puts "\n\n#{'-' * 64}\nrunning tests for: #{@exercise}"
|
14
14
|
|
15
|
-
Dir.mktmpdir(exercise.name) do |dir|
|
15
|
+
Dir.mktmpdir(@exercise.name) do |dir|
|
16
16
|
setup_exercise_files_in(dir)
|
17
17
|
run_exercise_tests_in(dir)
|
18
18
|
end
|
@@ -20,14 +20,12 @@ class ExerciseTestsRunner
|
|
20
20
|
|
21
21
|
private
|
22
22
|
|
23
|
-
attr_reader :exercise, :test_options
|
24
|
-
|
25
23
|
def setup_exercise_files_in(dir)
|
26
|
-
FileUtils.cp_r exercise.directory, dir
|
27
|
-
FileUtils.mv "#{dir}/#{exercise.example_file}", "#{dir}/#{exercise.testable_example_file}"
|
24
|
+
FileUtils.cp_r @exercise.directory, dir
|
25
|
+
FileUtils.mv "#{dir}/#{@exercise.example_file}", "#{dir}/#{@exercise.testable_example_file}"
|
28
26
|
end
|
29
27
|
|
30
28
|
def run_exercise_tests_in(dir)
|
31
|
-
ruby "-I lib -r disable_skip.rb #{dir}/#{exercise.test_file} #{test_options}"
|
29
|
+
ruby "-I lib -r disable_skip.rb #{dir}/#{@exercise.test_file} #{@test_options}"
|
32
30
|
end
|
33
31
|
end
|
@@ -47,52 +47,44 @@ module Generator
|
|
47
47
|
end
|
48
48
|
|
49
49
|
class LoggingRepositoryTest < Minitest::Test
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
50
|
+
def test_create_tests_file
|
51
|
+
mock_repository = Minitest::Mock.new
|
52
|
+
mock_repository.expect :create_tests_file, nil
|
53
|
+
mock_repository.expect :exercise_name, 'alpha'
|
54
|
+
mock_repository.expect :version, 2
|
55
|
+
mock_logger = Minitest::Mock.new
|
56
|
+
mock_logger.expect :info, nil, ['Generated alpha tests version 2']
|
54
57
|
|
55
|
-
|
56
|
-
|
58
|
+
subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
|
59
|
+
subject.create_tests_file
|
60
|
+
|
61
|
+
mock_repository.verify
|
62
|
+
end
|
57
63
|
|
64
|
+
def test_update_tests_version
|
65
|
+
mock_repository = Minitest::Mock.new
|
66
|
+
mock_repository.expect :update_tests_version, nil
|
67
|
+
mock_repository.expect :version, 2
|
58
68
|
mock_logger = Minitest::Mock.new
|
59
|
-
mock_logger.expect :
|
69
|
+
mock_logger.expect :debug, nil, ['Incremented tests version to 2']
|
60
70
|
|
61
|
-
|
62
|
-
subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
|
63
|
-
subject.define_singleton_method(:tests_version) { mock_tests_version }
|
64
|
-
subject.define_singleton_method(:version) { fake_version }
|
71
|
+
subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
|
65
72
|
subject.update_tests_version
|
66
|
-
|
73
|
+
|
74
|
+
mock_repository.verify
|
67
75
|
end
|
68
76
|
|
69
77
|
def test_update_example_solution
|
70
|
-
|
78
|
+
mock_repository = Minitest::Mock.new
|
79
|
+
mock_repository.expect :update_example_solution, nil
|
80
|
+
mock_repository.expect :version, 2
|
71
81
|
mock_logger = Minitest::Mock.new
|
72
|
-
mock_logger.expect :
|
73
|
-
|
74
|
-
mock_example_solution = Minitest::Mock.new.expect :update_version, nil, [2]
|
75
|
-
subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
|
76
|
-
subject.define_singleton_method(:example_solution) { mock_example_solution }
|
77
|
-
subject.define_singleton_method(:version) { fake_version }
|
82
|
+
mock_logger.expect :debug, nil, ['Updated version in example solution to 2']
|
78
83
|
|
84
|
+
subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
|
79
85
|
subject.update_example_solution
|
80
|
-
mock_logger.verify
|
81
|
-
end
|
82
86
|
|
83
|
-
|
84
|
-
def test_create_tests_file
|
85
|
-
mock_logger = Minitest::Mock.new.expect :info, nil, ['Generated tests for alpha']
|
86
|
-
|
87
|
-
mock_tests_template = Minitest::Mock.new.expect :to_s, 'template'
|
88
|
-
mock_template_values = Minitest::Mock.new
|
89
|
-
mock_minitest_tests = Minitest::Mock.new.expect :generate, nil, [{ template: 'template', values: mock_template_values }]
|
90
|
-
subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
|
91
|
-
subject.define_singleton_method(:minitest_tests) { mock_minitest_tests }
|
92
|
-
subject.define_singleton_method(:tests_template) { mock_tests_template }
|
93
|
-
subject.define_singleton_method(:template_values) { mock_template_values }
|
94
|
-
subject.create_tests_file
|
95
|
-
mock_logger.verify
|
87
|
+
mock_repository.verify
|
96
88
|
end
|
97
89
|
end
|
98
90
|
end
|
data/tracks/rust/README.md
CHANGED
@@ -6,7 +6,7 @@ Exercism exercises in Rust
|
|
6
6
|
|
7
7
|
## Contributing Guide
|
8
8
|
|
9
|
-
Please see the [contributing guide](https://github.com/exercism/x-
|
9
|
+
Please see the [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md)
|
10
10
|
|
11
11
|
## License
|
12
12
|
|
data/tracks/scheme/config.json
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
Scheme is a tail-recursive and statically scoped dialect of the Lisp programming language.
|
2
|
+
It was built to have uncomplicated semantics and several different ways to form
|
3
|
+
expressions. Multiple programming paradigms, including functional, message,
|
4
|
+
and imperative, find easy expression in Scheme.
|
5
|
+
|
6
|
+
Scheme was invented by Guy Lewis Steele Jr. and Gerald Jay Sussman.
|
7
|
+
To learn more about Scheme, take a look at [MIT's Scheme page](https://groups.csail.mit.edu/mac/projects/scheme/index.html).
|
@@ -0,0 +1,16 @@
|
|
1
|
+
(define-module (scrabble-score)
|
2
|
+
#:export (score))
|
3
|
+
|
4
|
+
(define (letter-score letter)
|
5
|
+
(case (char-downcase letter)
|
6
|
+
[(#\a #\e #\i #\o #\u #\l #\n #\r #\s #\t) 1]
|
7
|
+
[(#\d #\g) 2]
|
8
|
+
[(#\b #\c #\m #\p) 3]
|
9
|
+
[(#\f #\h #\v #\w #\y) 4]
|
10
|
+
[(#\k) 5]
|
11
|
+
[(#\j #\x) 8]
|
12
|
+
[(#\q #\z) 10]
|
13
|
+
[else 0]))
|
14
|
+
|
15
|
+
(define (score word)
|
16
|
+
(string-fold (lambda (letter acc) (+ acc (letter-score letter))) 0 word))
|
@@ -0,0 +1,57 @@
|
|
1
|
+
;; Load SRFI-64 lightweight testing specification
|
2
|
+
(use-modules (srfi srfi-64))
|
3
|
+
|
4
|
+
;; Suppress log file output. To write logs, comment out the following line:
|
5
|
+
(module-define! (resolve-module '(srfi srfi-64)) 'test-log-to-file #f)
|
6
|
+
|
7
|
+
;; Require module
|
8
|
+
(add-to-load-path (dirname (current-filename)))
|
9
|
+
(use-modules (scrabble-score))
|
10
|
+
|
11
|
+
(test-begin "hello-world")
|
12
|
+
|
13
|
+
(test-assert "a is worth one point"
|
14
|
+
(equal? (score "a")
|
15
|
+
1))
|
16
|
+
|
17
|
+
(test-assert "scoring is case insensitive"
|
18
|
+
(equal? (score "A")
|
19
|
+
1))
|
20
|
+
|
21
|
+
(test-assert "f is worth four"
|
22
|
+
(equal? (score "f")
|
23
|
+
4))
|
24
|
+
|
25
|
+
(test-assert "two one point letters make a two point word"
|
26
|
+
(equal? (score "at")
|
27
|
+
2))
|
28
|
+
|
29
|
+
(test-assert "three letter word"
|
30
|
+
(equal? (score "zoo")
|
31
|
+
12))
|
32
|
+
|
33
|
+
(test-assert "medium word"
|
34
|
+
(equal? (score "street")
|
35
|
+
6))
|
36
|
+
|
37
|
+
(test-assert "longer words with valuable letters"
|
38
|
+
(equal? (score "quirky")
|
39
|
+
22))
|
40
|
+
|
41
|
+
(test-assert "long mixed case word"
|
42
|
+
(equal? (score "OxyphenButazone")
|
43
|
+
41))
|
44
|
+
|
45
|
+
(test-assert "english scrabble letters score"
|
46
|
+
(equal? (score "pinata")
|
47
|
+
8))
|
48
|
+
|
49
|
+
(test-assert "non english scrabble letters do not score"
|
50
|
+
(equal? (score "piñata")
|
51
|
+
7))
|
52
|
+
|
53
|
+
(test-assert "empty words are worth zero"
|
54
|
+
(equal? (score "")
|
55
|
+
0))
|
56
|
+
|
57
|
+
(test-end "hello-world")
|
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.6.
|
4
|
+
version: 2.0.6.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- common/exercises/change/canonical-data.json
|
161
161
|
- common/exercises/change/description.md
|
162
162
|
- common/exercises/change/metadata.yml
|
163
|
+
- common/exercises/circular-buffer/canonical-data.json
|
163
164
|
- common/exercises/circular-buffer/description.md
|
164
165
|
- common/exercises/circular-buffer/metadata.yml
|
165
166
|
- common/exercises/clock/canonical-data.json
|
@@ -347,6 +348,7 @@ files:
|
|
347
348
|
- common/exercises/scrabble-score/canonical-data.json
|
348
349
|
- common/exercises/scrabble-score/description.md
|
349
350
|
- common/exercises/scrabble-score/metadata.yml
|
351
|
+
- common/exercises/secret-handshake/canonical-data.json
|
350
352
|
- common/exercises/secret-handshake/description.md
|
351
353
|
- common/exercises/secret-handshake/metadata.yml
|
352
354
|
- common/exercises/series/description.md
|
@@ -389,6 +391,7 @@ files:
|
|
389
391
|
- common/exercises/two-bucket/canonical-data.json
|
390
392
|
- common/exercises/two-bucket/description.md
|
391
393
|
- common/exercises/two-bucket/metadata.yml
|
394
|
+
- common/exercises/variable-length-quantity/canonical-data.json
|
392
395
|
- common/exercises/variable-length-quantity/description.md
|
393
396
|
- common/exercises/variable-length-quantity/metadata.yml
|
394
397
|
- common/exercises/word-count/canonical-data.json
|
@@ -729,16 +732,34 @@ files:
|
|
729
732
|
- tracks/ceylon/.travis.yml
|
730
733
|
- tracks/ceylon/LICENSE
|
731
734
|
- tracks/ceylon/README.md
|
732
|
-
- tracks/ceylon/SETUP.md
|
733
735
|
- tracks/ceylon/bin/fetch-configlet
|
736
|
+
- tracks/ceylon/bin/test-all-exercises
|
737
|
+
- tracks/ceylon/bin/test-exercise
|
734
738
|
- tracks/ceylon/config.json
|
735
739
|
- tracks/ceylon/docs/ABOUT.md
|
736
740
|
- tracks/ceylon/docs/INSTALLATION.md
|
737
741
|
- tracks/ceylon/docs/LEARNING.md
|
738
742
|
- tracks/ceylon/docs/RESOURCES.md
|
739
743
|
- tracks/ceylon/docs/TESTS.md
|
740
|
-
- tracks/ceylon/exercises
|
741
|
-
- tracks/ceylon/
|
744
|
+
- tracks/ceylon/exercises/TRACK_HINTS.md
|
745
|
+
- tracks/ceylon/exercises/anagram/example/Anagram.ceylon
|
746
|
+
- tracks/ceylon/exercises/anagram/source/anagram/Anagram.ceylon
|
747
|
+
- tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon
|
748
|
+
- tracks/ceylon/exercises/anagram/source/anagram/module.ceylon
|
749
|
+
- tracks/ceylon/exercises/bracket-push/example/Brackets.ceylon
|
750
|
+
- tracks/ceylon/exercises/bracket-push/example/module.ceylon
|
751
|
+
- tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon
|
752
|
+
- tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon
|
753
|
+
- tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon
|
754
|
+
- tracks/ceylon/exercises/leap/example/Leap.ceylon
|
755
|
+
- tracks/ceylon/exercises/leap/source/leap/Leap.ceylon
|
756
|
+
- tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon
|
757
|
+
- tracks/ceylon/exercises/leap/source/leap/module.ceylon
|
758
|
+
- tracks/ceylon/exercises/sieve/example/Sieve.ceylon
|
759
|
+
- tracks/ceylon/exercises/sieve/example/module.ceylon
|
760
|
+
- tracks/ceylon/exercises/sieve/source/sieve/Sieve.ceylon
|
761
|
+
- tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon
|
762
|
+
- tracks/ceylon/exercises/sieve/source/sieve/module.ceylon
|
742
763
|
- tracks/ceylon/img/icon.png
|
743
764
|
- tracks/clojure/.git
|
744
765
|
- tracks/clojure/.gitignore
|
@@ -4496,6 +4517,7 @@ files:
|
|
4496
4517
|
- tracks/lua/config.json
|
4497
4518
|
- tracks/lua/docs/ABOUT.md
|
4498
4519
|
- tracks/lua/docs/INSTALLATION.md
|
4520
|
+
- tracks/lua/docs/LEARNING.md
|
4499
4521
|
- tracks/lua/docs/RESOURCES.md
|
4500
4522
|
- tracks/lua/docs/TESTS.md
|
4501
4523
|
- tracks/lua/exercises/accumulate/accumulate_spec.lua
|
@@ -5416,6 +5438,8 @@ files:
|
|
5416
5438
|
- tracks/php/exercises/etl/example.php
|
5417
5439
|
- tracks/php/exercises/gigasecond/example.php
|
5418
5440
|
- tracks/php/exercises/gigasecond/gigasecond_test.php
|
5441
|
+
- tracks/php/exercises/grains/example.php
|
5442
|
+
- tracks/php/exercises/grains/grains_test.php
|
5419
5443
|
- tracks/php/exercises/hamming/example.php
|
5420
5444
|
- tracks/php/exercises/hamming/hamming.php
|
5421
5445
|
- tracks/php/exercises/hamming/hamming_test.php
|
@@ -6894,6 +6918,7 @@ files:
|
|
6894
6918
|
- tracks/scheme/bin/fetch-configlet
|
6895
6919
|
- tracks/scheme/bin/stub.sh
|
6896
6920
|
- tracks/scheme/config.json
|
6921
|
+
- tracks/scheme/docs/ABOUT.md
|
6897
6922
|
- tracks/scheme/docs/INSTALLATION.md
|
6898
6923
|
- tracks/scheme/docs/RESOURCES.md
|
6899
6924
|
- tracks/scheme/docs/TESTS.md
|
@@ -6936,6 +6961,9 @@ files:
|
|
6936
6961
|
- tracks/scheme/exercises/robot-name/example.scm
|
6937
6962
|
- tracks/scheme/exercises/robot-name/robot-name-test.scm
|
6938
6963
|
- tracks/scheme/exercises/robot-name/robot.scm
|
6964
|
+
- tracks/scheme/exercises/scrabble-score/example.scm
|
6965
|
+
- tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm
|
6966
|
+
- tracks/scheme/exercises/scrabble-score/scrabble-score.scm
|
6939
6967
|
- tracks/scheme/img/icon.png
|
6940
6968
|
- tracks/sml/.git
|
6941
6969
|
- tracks/sml/.gitignore
|
File without changes
|
data/tracks/ceylon/img/.keep
DELETED
File without changes
|