trackler 2.0.8.18 → 2.0.8.19
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/.gitignore +1 -0
- data/common/.travis.yml +5 -8
- data/common/README.md +18 -5
- data/common/exercises/grep/canonical-data.json +290 -269
- data/common/exercises/phone-number/canonical-data.json +2 -2
- data/common/exercises/pov/canonical-data.json +2 -5
- data/common/exercises/roman-numerals/canonical-data.json +112 -74
- data/common/exercises/tournament/canonical-data.json +86 -85
- data/common/exercises/two-bucket/canonical-data.json +55 -47
- data/common/package.json +16 -0
- data/common/yarn.lock +195 -0
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/docs/LEARNING.md +1 -1
- data/tracks/c/exercises/space-age/src/example.c +15 -47
- data/tracks/c/exercises/space-age/src/example.h +12 -8
- data/tracks/c/exercises/space-age/test/test_space_age.c +8 -8
- data/tracks/ceylon/docs/TESTS.md +5 -2
- data/tracks/ceylon/exercises/TRACK_HINTS.md +5 -2
- data/tracks/csharp/.gitignore +0 -4
- data/tracks/csharp/.travis.yml +9 -20
- data/tracks/csharp/appveyor.yml +2 -4
- data/tracks/csharp/build.cake +95 -0
- data/tracks/csharp/build.ps1 +189 -0
- data/tracks/csharp/build.sh +99 -31
- data/tracks/csharp/circle.yml +3 -12
- data/tracks/delphi/config.json +8 -0
- data/tracks/delphi/exercises/minesweeper/MineSweeper.dpr +60 -0
- data/tracks/delphi/exercises/minesweeper/uMineSweeperExample.pas +70 -0
- data/tracks/delphi/exercises/minesweeper/uMineSweeperTest.pas +270 -0
- data/tracks/dlang/config.json +86 -31
- data/tracks/elixir/config.json +7 -0
- data/tracks/elixir/exercises/rotational-cipher/example.exs +35 -0
- data/tracks/elixir/exercises/rotational-cipher/rotational_cipher.exs +13 -0
- data/tracks/elixir/exercises/rotational-cipher/rotational_cipher_test.exs +80 -0
- data/tracks/go/exercises/raindrops/raindrops_test.go +4 -1
- data/tracks/go/exercises/react/react_test.go +6 -8
- data/tracks/go/exercises/rna-transcription/rna_transcription_test.go +4 -1
- data/tracks/go/exercises/robot-simulator/robot_simulator_test.go +5 -2
- data/tracks/haskell/exercises/allergies/src/Allergies.hs +2 -2
- data/tracks/haskell/exercises/atbash-cipher/src/Atbash.hs +2 -2
- data/tracks/haskell/exercises/bank-account/src/BankAccount.hs +3 -3
- data/tracks/haskell/exercises/binary-search-tree/src/BST.hs +7 -7
- data/tracks/haskell/exercises/bowling/src/Bowling.hs +1 -1
- data/tracks/haskell/exercises/clock/src/Clock.hs +4 -4
- data/tracks/haskell/exercises/connect/src/Connect.hs +1 -1
- data/tracks/haskell/exercises/crypto-square/src/CryptoSquare.hs +1 -1
- data/tracks/haskell/exercises/custom-set/src/CustomSet.hs +12 -12
- data/tracks/haskell/exercises/difference-of-squares/src/Squares.hs +3 -3
- data/tracks/haskell/exercises/etl/src/ETL.hs +1 -1
- data/tracks/haskell/exercises/forth/src/Forth.hs +2 -2
- data/tracks/haskell/exercises/go-counting/src/Counting.hs +2 -2
- data/tracks/haskell/exercises/kindergarten-garden/src/Garden.hs +3 -3
- data/tracks/haskell/exercises/largest-series-product/src/Series.hs +1 -1
- data/tracks/haskell/exercises/lens-person/src/Person.hs +4 -4
- data/tracks/julia/.travis.yml +3 -2
- data/tracks/ocaml/exercises/all-your-base/test.ml +2 -2
- data/tracks/ocaml/exercises/beer-song/test.ml +25 -24
- data/tracks/ocaml/exercises/phone-number/test.ml +22 -22
- data/tracks/ocaml/exercises/run-length-encoding/test.ml +5 -5
- data/tracks/ocaml/exercises/word-count/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/beer-song/template.ml +20 -1
- data/tracks/purescript/config.json +7 -0
- data/tracks/purescript/exercises/word-count/bower.json +17 -0
- data/tracks/purescript/exercises/word-count/examples/src/WordCount.purs +31 -0
- data/tracks/purescript/exercises/word-count/src/WordCount.purs +3 -0
- data/tracks/purescript/exercises/word-count/test/Main.purs +89 -0
- data/tracks/python/exercises/accumulate/accumulate.py +2 -0
- data/tracks/python/exercises/acronym/acronym.py +2 -0
- data/tracks/python/exercises/allergies/allergies.py +3 -0
- data/tracks/python/exercises/allergies/example.py +1 -1
- data/tracks/python/exercises/anagram/anagram.py +2 -0
- data/tracks/python/exercises/atbash-cipher/atbash_cipher.py +6 -0
- data/tracks/python/exercises/beer-song/beer_song.py +6 -0
- data/tracks/python/exercises/binary-search/binary_search.py +2 -0
- data/tracks/python/exercises/binary/binary.py +2 -0
- data/tracks/python/exercises/bob/bob.py +2 -8
- data/tracks/python/exercises/bracket-push/bracket_push.py +2 -0
- data/tracks/python/exercises/circular-buffer/circular_buffer.py +11 -0
- data/tracks/python/exercises/clock/clock.py +3 -0
- data/tracks/python/exercises/clock/example.py +1 -1
- data/tracks/python/exercises/crypto-square/crypto_square.py +2 -0
- data/tracks/python/exercises/diamond/diamond.py +2 -0
- data/tracks/python/exercises/difference-of-squares/difference_of_squares.py +10 -0
- data/tracks/python/exercises/etl/etl.py +2 -0
- data/tracks/python/exercises/flatten-array/flatten_array.py +2 -0
- data/tracks/python/exercises/gigasecond/gigasecond.py +2 -0
- data/tracks/python/exercises/grade-school/grade_school.py +3 -0
- data/tracks/python/exercises/grains/grains.py +6 -0
- data/tracks/python/exercises/hamming/hamming.py +2 -0
- data/tracks/python/exercises/hello-world/hello_world.py +2 -7
- data/tracks/python/exercises/hexadecimal/hexadecimal.py +2 -0
- data/tracks/python/exercises/house/house.py +6 -0
- data/tracks/python/exercises/kindergarten-garden/kindergarten_garden.py +3 -0
- data/tracks/python/exercises/largest-series-product/largest_series_product.py +2 -0
- data/tracks/python/exercises/leap/leap.py +2 -0
- data/tracks/python/exercises/linked-list/linked_list.py +2 -8
- data/tracks/python/exercises/list-ops/list_ops.py +18 -22
- data/tracks/python/exercises/luhn/luhn.py +3 -0
- data/tracks/python/exercises/matrix/matrix.py +3 -0
- data/tracks/python/exercises/meetup/meetup.py +2 -0
- data/tracks/python/exercises/minesweeper/minesweeper.py +2 -0
- data/tracks/python/exercises/nth-prime/nth_prime.py +2 -0
- data/tracks/python/exercises/nucleotide-count/nucleotide_count.py +6 -0
- data/tracks/python/exercises/ocr-numbers/ocr_numbers.py +6 -0
- data/tracks/python/exercises/ocr-numbers/{ocr_test.py → ocr_numbers_test.py} +0 -0
- data/tracks/python/exercises/octal/octal.py +2 -0
- data/tracks/python/exercises/palindrome-products/palindrome_products.py +6 -0
- data/tracks/python/exercises/pangram/pangram.py +2 -0
- data/tracks/python/exercises/pascals-triangle/pascals_triangle.py +10 -0
- data/tracks/python/exercises/perfect-numbers/perfect_numbers.py +6 -0
- data/tracks/python/exercises/phone-number/phone_number.py +3 -0
- data/tracks/python/exercises/pig-latin/pig_latin.py +2 -0
- data/tracks/python/exercises/point-mutations/point_mutations.py +2 -0
- data/tracks/python/exercises/poker/poker.py +2 -0
- data/tracks/python/exercises/prime-factors/prime_factors.py +2 -0
- data/tracks/python/exercises/proverb/proverb.py +2 -0
- data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet.py +10 -0
- data/tracks/python/exercises/queen-attack/queen_attack.py +6 -0
- data/tracks/python/exercises/rail-fence-cipher/rail_fence_cipher.py +10 -0
- data/tracks/python/exercises/raindrops/raindrops.py +2 -0
- data/tracks/python/exercises/rectangles/example.py +1 -1
- data/tracks/python/exercises/rectangles/rectangles.py +2 -0
- data/tracks/python/exercises/rectangles/{rectangles_count_test.py → rectangles_test.py} +0 -0
- data/tracks/python/exercises/rna-transcription/rna_transcription.py +2 -0
- data/tracks/python/exercises/robot-name/robot_name.py +3 -0
- data/tracks/python/exercises/robot-simulator/robot_simulator.py +3 -0
- data/tracks/python/exercises/roman-numerals/roman_numerals.py +2 -0
- data/tracks/python/exercises/run-length-encoding/run_length_encoding.py +6 -0
- data/tracks/python/exercises/run-length-encoding/{run_length_test.py → run_length_encoding_test.py} +1 -1
- data/tracks/python/exercises/saddle-points/saddle_points.py +2 -0
- data/tracks/python/exercises/say/example.py +1 -1
- data/tracks/python/exercises/say/say.py +2 -0
- data/tracks/python/exercises/say/say_test.py +3 -0
- data/tracks/python/exercises/scrabble-score/scrabble_score.py +2 -0
- data/tracks/python/exercises/secret-handshake/secret_handshake.py +6 -0
- data/tracks/python/exercises/secret-handshake/{handshake_test.py → secret_handshake_test.py} +0 -0
- data/tracks/python/exercises/series/series.py +2 -0
- data/tracks/python/exercises/sieve/sieve.py +2 -0
- data/tracks/python/exercises/simple-cipher/example.py +1 -1
- data/tracks/python/exercises/simple-cipher/simple_cipher.py +8 -0
- data/tracks/python/exercises/space-age/space_age.py +3 -0
- data/tracks/python/exercises/strain/strain.py +6 -0
- data/tracks/python/exercises/sublist/sublist.py +2 -0
- data/tracks/python/exercises/sum-of-multiples/sum_of_multiples.py +2 -0
- data/tracks/python/exercises/triangle/triangle.py +7 -0
- data/tracks/python/exercises/trinary/trinary.py +2 -0
- data/tracks/python/exercises/twelve-days/twelve_days.py +10 -0
- data/tracks/python/exercises/word-count/word_count.py +2 -0
- data/tracks/python/exercises/wordy/wordy.py +2 -0
- data/tracks/python/exercises/zebra-puzzle/zebra_puzzle.py +2 -0
- data/tracks/ruby/exercises/beer-song/.meta/.version +1 -0
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +62 -36
- data/tracks/ruby/exercises/beer-song/example.rb +1 -5
- data/tracks/ruby/exercises/beer-song/example.tt +22 -0
- data/tracks/ruby/lib/beer_song_cases.rb +43 -0
- data/tracks/swift/exercises/matrix/Tests/MatrixTests/MatrixTests.swift +1 -1
- metadata +94 -13
- data/common/bin/jsonlint +0 -27
- data/tracks/csharp/.paket/paket.bootstrapper.exe +0 -0
- data/tracks/csharp/Zipper.cs +0 -137
- data/tracks/csharp/build.cmd +0 -14
- data/tracks/csharp/build.fsx +0 -78
- data/tracks/csharp/paket.dependencies +0 -2
- data/tracks/csharp/paket.lock +0 -3
data/tracks/python/exercises/secret-handshake/{handshake_test.py → secret_handshake_test.py}
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3
|
|
@@ -1,69 +1,86 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
2
3
|
gem 'minitest', '>= 5.0.0'
|
|
3
4
|
require 'minitest/autorun'
|
|
4
5
|
require_relative 'beer_song'
|
|
5
6
|
|
|
7
|
+
# Common test data version: 9f3d48a
|
|
6
8
|
class BeerSongTest < Minitest::Test
|
|
7
|
-
def
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
def test_first_generic_verse
|
|
10
|
+
# skip
|
|
11
|
+
expected = <<-TEXT
|
|
12
|
+
99 bottles of beer on the wall, 99 bottles of beer.
|
|
13
|
+
Take one down and pass it around, 98 bottles of beer on the wall.
|
|
14
|
+
TEXT
|
|
10
15
|
assert_equal expected, BeerSong.new.verse(99)
|
|
11
16
|
end
|
|
12
17
|
|
|
13
|
-
def
|
|
18
|
+
def test_last_generic_verse
|
|
14
19
|
skip
|
|
15
|
-
expected =
|
|
16
|
-
|
|
20
|
+
expected = <<-TEXT
|
|
21
|
+
3 bottles of beer on the wall, 3 bottles of beer.
|
|
22
|
+
Take one down and pass it around, 2 bottles of beer on the wall.
|
|
23
|
+
TEXT
|
|
17
24
|
assert_equal expected, BeerSong.new.verse(3)
|
|
18
25
|
end
|
|
19
26
|
|
|
20
27
|
def test_verse_2
|
|
21
28
|
skip
|
|
22
|
-
expected =
|
|
23
|
-
|
|
29
|
+
expected = <<-TEXT
|
|
30
|
+
2 bottles of beer on the wall, 2 bottles of beer.
|
|
31
|
+
Take one down and pass it around, 1 bottle of beer on the wall.
|
|
32
|
+
TEXT
|
|
24
33
|
assert_equal expected, BeerSong.new.verse(2)
|
|
25
34
|
end
|
|
26
35
|
|
|
27
36
|
def test_verse_1
|
|
28
37
|
skip
|
|
29
|
-
expected =
|
|
30
|
-
|
|
38
|
+
expected = <<-TEXT
|
|
39
|
+
1 bottle of beer on the wall, 1 bottle of beer.
|
|
40
|
+
Take it down and pass it around, no more bottles of beer on the wall.
|
|
41
|
+
TEXT
|
|
31
42
|
assert_equal expected, BeerSong.new.verse(1)
|
|
32
43
|
end
|
|
33
44
|
|
|
34
45
|
def test_verse_0
|
|
35
46
|
skip
|
|
36
|
-
expected =
|
|
37
|
-
|
|
47
|
+
expected = <<-TEXT
|
|
48
|
+
No more bottles of beer on the wall, no more bottles of beer.
|
|
49
|
+
Go to the store and buy some more, 99 bottles of beer on the wall.
|
|
50
|
+
TEXT
|
|
38
51
|
assert_equal expected, BeerSong.new.verse(0)
|
|
39
52
|
end
|
|
40
53
|
|
|
41
|
-
def
|
|
54
|
+
def test_first_two_verses
|
|
42
55
|
skip
|
|
43
|
-
expected =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
expected = <<-TEXT
|
|
57
|
+
99 bottles of beer on the wall, 99 bottles of beer.
|
|
58
|
+
Take one down and pass it around, 98 bottles of beer on the wall.
|
|
59
|
+
|
|
60
|
+
98 bottles of beer on the wall, 98 bottles of beer.
|
|
61
|
+
Take one down and pass it around, 97 bottles of beer on the wall.
|
|
62
|
+
TEXT
|
|
48
63
|
assert_equal expected, BeerSong.new.verses(99, 98)
|
|
49
64
|
end
|
|
50
65
|
|
|
51
|
-
def
|
|
66
|
+
def test_last_three_verses
|
|
52
67
|
skip
|
|
53
|
-
expected =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
68
|
+
expected = <<-TEXT
|
|
69
|
+
2 bottles of beer on the wall, 2 bottles of beer.
|
|
70
|
+
Take one down and pass it around, 1 bottle of beer on the wall.
|
|
71
|
+
|
|
72
|
+
1 bottle of beer on the wall, 1 bottle of beer.
|
|
73
|
+
Take it down and pass it around, no more bottles of beer on the wall.
|
|
74
|
+
|
|
75
|
+
No more bottles of beer on the wall, no more bottles of beer.
|
|
76
|
+
Go to the store and buy some more, 99 bottles of beer on the wall.
|
|
77
|
+
TEXT
|
|
61
78
|
assert_equal expected, BeerSong.new.verses(2, 0)
|
|
62
79
|
end
|
|
63
80
|
|
|
64
|
-
def
|
|
81
|
+
def test_all_verses
|
|
65
82
|
skip
|
|
66
|
-
expected = <<-
|
|
83
|
+
expected = <<-TEXT
|
|
67
84
|
99 bottles of beer on the wall, 99 bottles of beer.
|
|
68
85
|
Take one down and pass it around, 98 bottles of beer on the wall.
|
|
69
86
|
|
|
@@ -363,18 +380,27 @@ Take it down and pass it around, no more bottles of beer on the wall.
|
|
|
363
380
|
|
|
364
381
|
No more bottles of beer on the wall, no more bottles of beer.
|
|
365
382
|
Go to the store and buy some more, 99 bottles of beer on the wall.
|
|
366
|
-
|
|
367
|
-
assert_equal expected, BeerSong.new.
|
|
383
|
+
TEXT
|
|
384
|
+
assert_equal expected, BeerSong.new.verses(99, 0)
|
|
368
385
|
end
|
|
369
|
-
|
|
370
|
-
#
|
|
371
|
-
# as we find better ways to ask questions.
|
|
386
|
+
# Problems in exercism evolve over time, as we find better ways to ask
|
|
387
|
+
# questions.
|
|
372
388
|
# The version number refers to the version of the problem you solved,
|
|
373
389
|
# not your solution.
|
|
374
390
|
#
|
|
375
|
-
# Define a constant named VERSION inside of BookKeeping
|
|
391
|
+
# Define a constant named VERSION inside of the top level BookKeeping
|
|
392
|
+
# module, which may be placed near the end of your file.
|
|
393
|
+
#
|
|
394
|
+
# In your file, it will look like this:
|
|
395
|
+
#
|
|
396
|
+
# module BookKeeping
|
|
397
|
+
# VERSION = 1 # Where the version number matches the one in the test.
|
|
398
|
+
# end
|
|
399
|
+
#
|
|
400
|
+
# If you are curious, read more about constants on RubyDoc:
|
|
401
|
+
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
376
402
|
def test_bookkeeping
|
|
377
403
|
skip
|
|
378
|
-
assert_equal
|
|
404
|
+
assert_equal 3, BookKeeping::VERSION
|
|
379
405
|
end
|
|
380
406
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
gem 'minitest', '>= 5.0.0'
|
|
4
|
+
require 'minitest/autorun'
|
|
5
|
+
require_relative 'beer_song'
|
|
6
|
+
|
|
7
|
+
# Common test data version: <%= abbreviated_commit_hash %>
|
|
8
|
+
class BeerSongTest < Minitest::Test<% test_cases.each do |test_case| %>
|
|
9
|
+
def <%= test_case.test_name %>
|
|
10
|
+
<%= test_case.skipped %>
|
|
11
|
+
expected = <<-TEXT
|
|
12
|
+
<%= test_case.expected %>
|
|
13
|
+
TEXT
|
|
14
|
+
assert_equal expected, <%= test_case.workload %>
|
|
15
|
+
end
|
|
16
|
+
<% end %>
|
|
17
|
+
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
18
|
+
def test_bookkeeping
|
|
19
|
+
skip
|
|
20
|
+
assert_equal <%= version %>, BookKeeping::VERSION
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require 'exercise_cases'
|
|
2
|
+
|
|
3
|
+
class BeerSongCase < OpenStruct
|
|
4
|
+
def test_name
|
|
5
|
+
'test_%s' % description.tr(' ', '_')
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def workload
|
|
9
|
+
"BeerSong.new.%s(%s)" % [property, workload_arguments]
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def expected
|
|
13
|
+
self["expected"].gsub('\n', '"\n" \\')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def skipped
|
|
17
|
+
index.zero? ? '# skip' : 'skip'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def workload_arguments
|
|
23
|
+
if property == 'verse'
|
|
24
|
+
number
|
|
25
|
+
else
|
|
26
|
+
"%s, %s" % [self["beginning"], self["end"]]
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
BeerSongCases = proc do |data|
|
|
32
|
+
i = 0
|
|
33
|
+
cases = []
|
|
34
|
+
JSON.parse(data)["cases"].each do |section|
|
|
35
|
+
section["cases"].each do |tests|
|
|
36
|
+
tests["cases"].each do |test|
|
|
37
|
+
cases << BeerSongCase.new(test.merge('index' => i))
|
|
38
|
+
i += 1
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
cases
|
|
43
|
+
end
|
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.8.
|
|
4
|
+
version: 2.0.8.19
|
|
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-03-
|
|
11
|
+
date: 2017-03-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rubyzip
|
|
@@ -106,13 +106,13 @@ files:
|
|
|
106
106
|
- bin/verify-configs
|
|
107
107
|
- bin/verify-metadata
|
|
108
108
|
- common/.git
|
|
109
|
+
- common/.gitignore
|
|
109
110
|
- common/.travis.yml
|
|
110
111
|
- common/CONTRIBUTING.md
|
|
111
112
|
- common/LICENSE
|
|
112
113
|
- common/README.md
|
|
113
114
|
- common/TOPICS.txt
|
|
114
115
|
- common/bin/check_required_files_present
|
|
115
|
-
- common/bin/jsonlint
|
|
116
116
|
- common/canonical-schema.json
|
|
117
117
|
- common/exercises/accumulate/description.md
|
|
118
118
|
- common/exercises/accumulate/metadata.yml
|
|
@@ -423,6 +423,8 @@ files:
|
|
|
423
423
|
- common/exercises/zebra-puzzle/metadata.yml
|
|
424
424
|
- common/exercises/zipper/description.md
|
|
425
425
|
- common/exercises/zipper/metadata.yml
|
|
426
|
+
- common/package.json
|
|
427
|
+
- common/yarn.lock
|
|
426
428
|
- fixtures/common/exercises/apple/canonical-data.json
|
|
427
429
|
- fixtures/common/exercises/apple/description.md
|
|
428
430
|
- fixtures/common/exercises/apple/metadata.yml
|
|
@@ -1345,16 +1347,14 @@ files:
|
|
|
1345
1347
|
- tracks/crystal/src/generator/spec/exercise_test_case_spec.cr
|
|
1346
1348
|
- tracks/csharp/.git
|
|
1347
1349
|
- tracks/csharp/.gitignore
|
|
1348
|
-
- tracks/csharp/.paket/paket.bootstrapper.exe
|
|
1349
1350
|
- tracks/csharp/.travis.yml
|
|
1350
1351
|
- tracks/csharp/LICENSE
|
|
1351
1352
|
- tracks/csharp/README.md
|
|
1352
1353
|
- tracks/csharp/SETUP.md
|
|
1353
|
-
- tracks/csharp/Zipper.cs
|
|
1354
1354
|
- tracks/csharp/appveyor.yml
|
|
1355
1355
|
- tracks/csharp/bin/fetch-configlet
|
|
1356
|
-
- tracks/csharp/build.
|
|
1357
|
-
- tracks/csharp/build.
|
|
1356
|
+
- tracks/csharp/build.cake
|
|
1357
|
+
- tracks/csharp/build.ps1
|
|
1358
1358
|
- tracks/csharp/build.sh
|
|
1359
1359
|
- tracks/csharp/circle.yml
|
|
1360
1360
|
- tracks/csharp/config.json
|
|
@@ -1788,8 +1788,6 @@ files:
|
|
|
1788
1788
|
- tracks/csharp/exercises/zipper/Zipper.csproj
|
|
1789
1789
|
- tracks/csharp/exercises/zipper/ZipperTest.cs
|
|
1790
1790
|
- tracks/csharp/img/icon.png
|
|
1791
|
-
- tracks/csharp/paket.dependencies
|
|
1792
|
-
- tracks/csharp/paket.lock
|
|
1793
1791
|
- tracks/delphi/.git
|
|
1794
1792
|
- tracks/delphi/.gitignore
|
|
1795
1793
|
- tracks/delphi/.travis.yml
|
|
@@ -1861,6 +1859,9 @@ files:
|
|
|
1861
1859
|
- tracks/delphi/exercises/leap/Leap.dpr
|
|
1862
1860
|
- tracks/delphi/exercises/leap/uLeapExample.pas
|
|
1863
1861
|
- tracks/delphi/exercises/leap/uLeapTests.pas
|
|
1862
|
+
- tracks/delphi/exercises/minesweeper/MineSweeper.dpr
|
|
1863
|
+
- tracks/delphi/exercises/minesweeper/uMineSweeperExample.pas
|
|
1864
|
+
- tracks/delphi/exercises/minesweeper/uMineSweeperTest.pas
|
|
1864
1865
|
- tracks/delphi/exercises/nucleotide-count/NucleotideCount.dpr
|
|
1865
1866
|
- tracks/delphi/exercises/nucleotide-count/uNucleotideCountExample.pas
|
|
1866
1867
|
- tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas
|
|
@@ -2464,6 +2465,9 @@ files:
|
|
|
2464
2465
|
- tracks/elixir/exercises/roman-numerals/example.exs
|
|
2465
2466
|
- tracks/elixir/exercises/roman-numerals/roman.exs
|
|
2466
2467
|
- tracks/elixir/exercises/roman-numerals/roman_numerals_test.exs
|
|
2468
|
+
- tracks/elixir/exercises/rotational-cipher/example.exs
|
|
2469
|
+
- tracks/elixir/exercises/rotational-cipher/rotational_cipher.exs
|
|
2470
|
+
- tracks/elixir/exercises/rotational-cipher/rotational_cipher_test.exs
|
|
2467
2471
|
- tracks/elixir/exercises/run-length-encoding/example.exs
|
|
2468
2472
|
- tracks/elixir/exercises/run-length-encoding/rle.exs
|
|
2469
2473
|
- tracks/elixir/exercises/run-length-encoding/rle_test.exs
|
|
@@ -6341,6 +6345,10 @@ files:
|
|
|
6341
6345
|
- tracks/purescript/exercises/triangle/examples/src/Triangle.purs
|
|
6342
6346
|
- tracks/purescript/exercises/triangle/src/Triangle.purs
|
|
6343
6347
|
- tracks/purescript/exercises/triangle/test/Main.purs
|
|
6348
|
+
- tracks/purescript/exercises/word-count/bower.json
|
|
6349
|
+
- tracks/purescript/exercises/word-count/examples/src/WordCount.purs
|
|
6350
|
+
- tracks/purescript/exercises/word-count/src/WordCount.purs
|
|
6351
|
+
- tracks/purescript/exercises/word-count/test/Main.purs
|
|
6344
6352
|
- tracks/purescript/img/icon.png
|
|
6345
6353
|
- tracks/python/.git
|
|
6346
6354
|
- tracks/python/.gitignore
|
|
@@ -6360,65 +6368,90 @@ files:
|
|
|
6360
6368
|
- tracks/python/docs/img/AddFiles.png
|
|
6361
6369
|
- tracks/python/docs/img/SolutionExplorer.png
|
|
6362
6370
|
- tracks/python/docs/img/TestExplorer.png
|
|
6371
|
+
- tracks/python/exercises/accumulate/accumulate.py
|
|
6363
6372
|
- tracks/python/exercises/accumulate/accumulate_test.py
|
|
6364
6373
|
- tracks/python/exercises/accumulate/example.py
|
|
6374
|
+
- tracks/python/exercises/acronym/acronym.py
|
|
6365
6375
|
- tracks/python/exercises/acronym/acronym_test.py
|
|
6366
6376
|
- tracks/python/exercises/acronym/example.py
|
|
6367
6377
|
- tracks/python/exercises/all-your-base/all_your_base_test.py
|
|
6368
6378
|
- tracks/python/exercises/all-your-base/example.py
|
|
6379
|
+
- tracks/python/exercises/allergies/allergies.py
|
|
6369
6380
|
- tracks/python/exercises/allergies/allergies_test.py
|
|
6370
6381
|
- tracks/python/exercises/allergies/example.py
|
|
6382
|
+
- tracks/python/exercises/anagram/anagram.py
|
|
6371
6383
|
- tracks/python/exercises/anagram/anagram_test.py
|
|
6372
6384
|
- tracks/python/exercises/anagram/example.py
|
|
6385
|
+
- tracks/python/exercises/atbash-cipher/atbash_cipher.py
|
|
6373
6386
|
- tracks/python/exercises/atbash-cipher/atbash_cipher_test.py
|
|
6374
6387
|
- tracks/python/exercises/atbash-cipher/example.py
|
|
6388
|
+
- tracks/python/exercises/beer-song/beer_song.py
|
|
6375
6389
|
- tracks/python/exercises/beer-song/beer_song_test.py
|
|
6376
6390
|
- tracks/python/exercises/beer-song/example.py
|
|
6391
|
+
- tracks/python/exercises/binary-search/binary_search.py
|
|
6377
6392
|
- tracks/python/exercises/binary-search/binary_search_test.py
|
|
6378
6393
|
- tracks/python/exercises/binary-search/example.py
|
|
6394
|
+
- tracks/python/exercises/binary/binary.py
|
|
6379
6395
|
- tracks/python/exercises/binary/binary_test.py
|
|
6380
6396
|
- tracks/python/exercises/binary/example.py
|
|
6381
6397
|
- tracks/python/exercises/bob/bob.py
|
|
6382
6398
|
- tracks/python/exercises/bob/bob_test.py
|
|
6383
6399
|
- tracks/python/exercises/bob/example.py
|
|
6400
|
+
- tracks/python/exercises/bracket-push/bracket_push.py
|
|
6384
6401
|
- tracks/python/exercises/bracket-push/bracket_push_test.py
|
|
6385
6402
|
- tracks/python/exercises/bracket-push/example.py
|
|
6403
|
+
- tracks/python/exercises/circular-buffer/circular_buffer.py
|
|
6386
6404
|
- tracks/python/exercises/circular-buffer/circular_buffer_test.py
|
|
6387
6405
|
- tracks/python/exercises/circular-buffer/example.py
|
|
6406
|
+
- tracks/python/exercises/clock/clock.py
|
|
6388
6407
|
- tracks/python/exercises/clock/clock_test.py
|
|
6389
6408
|
- tracks/python/exercises/clock/example.py
|
|
6409
|
+
- tracks/python/exercises/crypto-square/crypto_square.py
|
|
6390
6410
|
- tracks/python/exercises/crypto-square/crypto_square_test.py
|
|
6391
6411
|
- tracks/python/exercises/crypto-square/example.py
|
|
6412
|
+
- tracks/python/exercises/diamond/diamond.py
|
|
6392
6413
|
- tracks/python/exercises/diamond/diamond_test.py
|
|
6393
6414
|
- tracks/python/exercises/diamond/example.py
|
|
6415
|
+
- tracks/python/exercises/difference-of-squares/difference_of_squares.py
|
|
6394
6416
|
- tracks/python/exercises/difference-of-squares/difference_of_squares_test.py
|
|
6395
6417
|
- tracks/python/exercises/difference-of-squares/example.py
|
|
6418
|
+
- tracks/python/exercises/etl/etl.py
|
|
6396
6419
|
- tracks/python/exercises/etl/etl_test.py
|
|
6397
6420
|
- tracks/python/exercises/etl/example.py
|
|
6398
6421
|
- tracks/python/exercises/flatten-array/example.py
|
|
6422
|
+
- tracks/python/exercises/flatten-array/flatten_array.py
|
|
6399
6423
|
- tracks/python/exercises/flatten-array/flatten_array_test.py
|
|
6400
6424
|
- tracks/python/exercises/gigasecond/example.py
|
|
6425
|
+
- tracks/python/exercises/gigasecond/gigasecond.py
|
|
6401
6426
|
- tracks/python/exercises/gigasecond/gigasecond_test.py
|
|
6402
6427
|
- tracks/python/exercises/grade-school/example.py
|
|
6428
|
+
- tracks/python/exercises/grade-school/grade_school.py
|
|
6403
6429
|
- tracks/python/exercises/grade-school/grade_school_test.py
|
|
6404
6430
|
- tracks/python/exercises/grains/example.py
|
|
6431
|
+
- tracks/python/exercises/grains/grains.py
|
|
6405
6432
|
- tracks/python/exercises/grains/grains_test.py
|
|
6406
6433
|
- tracks/python/exercises/grep/example.py
|
|
6407
6434
|
- tracks/python/exercises/grep/grep_test.py
|
|
6408
6435
|
- tracks/python/exercises/hamming/example.py
|
|
6436
|
+
- tracks/python/exercises/hamming/hamming.py
|
|
6409
6437
|
- tracks/python/exercises/hamming/hamming_test.py
|
|
6410
6438
|
- tracks/python/exercises/hello-world/example.py
|
|
6411
6439
|
- tracks/python/exercises/hello-world/hello_world.py
|
|
6412
6440
|
- tracks/python/exercises/hello-world/hello_world_test.py
|
|
6413
6441
|
- tracks/python/exercises/hexadecimal/example.py
|
|
6442
|
+
- tracks/python/exercises/hexadecimal/hexadecimal.py
|
|
6414
6443
|
- tracks/python/exercises/hexadecimal/hexadecimal_test.py
|
|
6415
6444
|
- tracks/python/exercises/house/example.py
|
|
6445
|
+
- tracks/python/exercises/house/house.py
|
|
6416
6446
|
- tracks/python/exercises/house/house_test.py
|
|
6417
6447
|
- tracks/python/exercises/kindergarten-garden/example.py
|
|
6448
|
+
- tracks/python/exercises/kindergarten-garden/kindergarten_garden.py
|
|
6418
6449
|
- tracks/python/exercises/kindergarten-garden/kindergarten_garden_test.py
|
|
6419
6450
|
- tracks/python/exercises/largest-series-product/example.py
|
|
6451
|
+
- tracks/python/exercises/largest-series-product/largest_series_product.py
|
|
6420
6452
|
- tracks/python/exercises/largest-series-product/largest_series_product_test.py
|
|
6421
6453
|
- tracks/python/exercises/leap/example.py
|
|
6454
|
+
- tracks/python/exercises/leap/leap.py
|
|
6422
6455
|
- tracks/python/exercises/leap/leap_test.py
|
|
6423
6456
|
- tracks/python/exercises/linked-list/example.py
|
|
6424
6457
|
- tracks/python/exercises/linked-list/linked_list.py
|
|
@@ -6427,97 +6460,142 @@ files:
|
|
|
6427
6460
|
- tracks/python/exercises/list-ops/list_ops.py
|
|
6428
6461
|
- tracks/python/exercises/list-ops/list_ops_test.py
|
|
6429
6462
|
- tracks/python/exercises/luhn/example.py
|
|
6463
|
+
- tracks/python/exercises/luhn/luhn.py
|
|
6430
6464
|
- tracks/python/exercises/luhn/luhn_test.py
|
|
6431
6465
|
- tracks/python/exercises/matrix/example.py
|
|
6466
|
+
- tracks/python/exercises/matrix/matrix.py
|
|
6432
6467
|
- tracks/python/exercises/matrix/matrix_test.py
|
|
6433
6468
|
- tracks/python/exercises/meetup/example.py
|
|
6469
|
+
- tracks/python/exercises/meetup/meetup.py
|
|
6434
6470
|
- tracks/python/exercises/meetup/meetup_test.py
|
|
6435
6471
|
- tracks/python/exercises/minesweeper/example.py
|
|
6472
|
+
- tracks/python/exercises/minesweeper/minesweeper.py
|
|
6436
6473
|
- tracks/python/exercises/minesweeper/minesweeper_test.py
|
|
6437
6474
|
- tracks/python/exercises/nth-prime/example.py
|
|
6475
|
+
- tracks/python/exercises/nth-prime/nth_prime.py
|
|
6438
6476
|
- tracks/python/exercises/nth-prime/nth_prime_test.py
|
|
6439
6477
|
- tracks/python/exercises/nucleotide-count/example.py
|
|
6478
|
+
- tracks/python/exercises/nucleotide-count/nucleotide_count.py
|
|
6440
6479
|
- tracks/python/exercises/nucleotide-count/nucleotide_count_test.py
|
|
6441
6480
|
- tracks/python/exercises/ocr-numbers/example.py
|
|
6442
|
-
- tracks/python/exercises/ocr-numbers/
|
|
6481
|
+
- tracks/python/exercises/ocr-numbers/ocr_numbers.py
|
|
6482
|
+
- tracks/python/exercises/ocr-numbers/ocr_numbers_test.py
|
|
6443
6483
|
- tracks/python/exercises/octal/example.py
|
|
6484
|
+
- tracks/python/exercises/octal/octal.py
|
|
6444
6485
|
- tracks/python/exercises/octal/octal_test.py
|
|
6445
6486
|
- tracks/python/exercises/palindrome-products/example.py
|
|
6487
|
+
- tracks/python/exercises/palindrome-products/palindrome_products.py
|
|
6446
6488
|
- tracks/python/exercises/palindrome-products/palindrome_products_test.py
|
|
6447
6489
|
- tracks/python/exercises/pangram/example.py
|
|
6490
|
+
- tracks/python/exercises/pangram/pangram.py
|
|
6448
6491
|
- tracks/python/exercises/pangram/pangram_test.py
|
|
6449
6492
|
- tracks/python/exercises/pascals-triangle/example.py
|
|
6493
|
+
- tracks/python/exercises/pascals-triangle/pascals_triangle.py
|
|
6450
6494
|
- tracks/python/exercises/pascals-triangle/pascals_triangle_test.py
|
|
6451
6495
|
- tracks/python/exercises/perfect-numbers/example.py
|
|
6496
|
+
- tracks/python/exercises/perfect-numbers/perfect_numbers.py
|
|
6452
6497
|
- tracks/python/exercises/perfect-numbers/perfect_numbers_test.py
|
|
6453
6498
|
- tracks/python/exercises/phone-number/example.py
|
|
6499
|
+
- tracks/python/exercises/phone-number/phone_number.py
|
|
6454
6500
|
- tracks/python/exercises/phone-number/phone_number_test.py
|
|
6455
6501
|
- tracks/python/exercises/pig-latin/example.py
|
|
6502
|
+
- tracks/python/exercises/pig-latin/pig_latin.py
|
|
6456
6503
|
- tracks/python/exercises/pig-latin/pig_latin_test.py
|
|
6457
6504
|
- tracks/python/exercises/point-mutations/example.py
|
|
6505
|
+
- tracks/python/exercises/point-mutations/point_mutations.py
|
|
6458
6506
|
- tracks/python/exercises/point-mutations/point_mutations_test.py
|
|
6459
6507
|
- tracks/python/exercises/poker/example.py
|
|
6508
|
+
- tracks/python/exercises/poker/poker.py
|
|
6460
6509
|
- tracks/python/exercises/poker/poker_test.py
|
|
6461
6510
|
- tracks/python/exercises/prime-factors/example.py
|
|
6511
|
+
- tracks/python/exercises/prime-factors/prime_factors.py
|
|
6462
6512
|
- tracks/python/exercises/prime-factors/prime_factors_test.py
|
|
6463
6513
|
- tracks/python/exercises/proverb/example.py
|
|
6514
|
+
- tracks/python/exercises/proverb/proverb.py
|
|
6464
6515
|
- tracks/python/exercises/proverb/proverb_test.py
|
|
6465
6516
|
- tracks/python/exercises/pythagorean-triplet/example.py
|
|
6517
|
+
- tracks/python/exercises/pythagorean-triplet/pythagorean_triplet.py
|
|
6466
6518
|
- tracks/python/exercises/pythagorean-triplet/pythagorean_triplet_test.py
|
|
6467
6519
|
- tracks/python/exercises/queen-attack/example.py
|
|
6520
|
+
- tracks/python/exercises/queen-attack/queen_attack.py
|
|
6468
6521
|
- tracks/python/exercises/queen-attack/queen_attack_test.py
|
|
6469
6522
|
- tracks/python/exercises/rail-fence-cipher/example.py
|
|
6523
|
+
- tracks/python/exercises/rail-fence-cipher/rail_fence_cipher.py
|
|
6470
6524
|
- tracks/python/exercises/rail-fence-cipher/rail_fence_cipher_test.py
|
|
6471
6525
|
- tracks/python/exercises/raindrops/example.py
|
|
6526
|
+
- tracks/python/exercises/raindrops/raindrops.py
|
|
6472
6527
|
- tracks/python/exercises/raindrops/raindrops_test.py
|
|
6473
6528
|
- tracks/python/exercises/rectangles/example.py
|
|
6474
|
-
- tracks/python/exercises/rectangles/
|
|
6529
|
+
- tracks/python/exercises/rectangles/rectangles.py
|
|
6530
|
+
- tracks/python/exercises/rectangles/rectangles_test.py
|
|
6475
6531
|
- tracks/python/exercises/rna-transcription/example.py
|
|
6532
|
+
- tracks/python/exercises/rna-transcription/rna_transcription.py
|
|
6476
6533
|
- tracks/python/exercises/rna-transcription/rna_transcription_test.py
|
|
6477
6534
|
- tracks/python/exercises/robot-name/example.py
|
|
6535
|
+
- tracks/python/exercises/robot-name/robot_name.py
|
|
6478
6536
|
- tracks/python/exercises/robot-name/robot_name_test.py
|
|
6479
6537
|
- tracks/python/exercises/robot-simulator/example.py
|
|
6538
|
+
- tracks/python/exercises/robot-simulator/robot_simulator.py
|
|
6480
6539
|
- tracks/python/exercises/robot-simulator/robot_simulator_test.py
|
|
6481
6540
|
- tracks/python/exercises/roman-numerals/example.py
|
|
6541
|
+
- tracks/python/exercises/roman-numerals/roman_numerals.py
|
|
6482
6542
|
- tracks/python/exercises/roman-numerals/roman_numerals_test.py
|
|
6483
6543
|
- tracks/python/exercises/run-length-encoding/example.py
|
|
6484
|
-
- tracks/python/exercises/run-length-encoding/
|
|
6544
|
+
- tracks/python/exercises/run-length-encoding/run_length_encoding.py
|
|
6545
|
+
- tracks/python/exercises/run-length-encoding/run_length_encoding_test.py
|
|
6485
6546
|
- tracks/python/exercises/saddle-points/example.py
|
|
6547
|
+
- tracks/python/exercises/saddle-points/saddle_points.py
|
|
6486
6548
|
- tracks/python/exercises/saddle-points/saddle_points_test.py
|
|
6487
6549
|
- tracks/python/exercises/say/example.py
|
|
6550
|
+
- tracks/python/exercises/say/say.py
|
|
6488
6551
|
- tracks/python/exercises/say/say_test.py
|
|
6489
6552
|
- tracks/python/exercises/scrabble-score/example.py
|
|
6553
|
+
- tracks/python/exercises/scrabble-score/scrabble_score.py
|
|
6490
6554
|
- tracks/python/exercises/scrabble-score/scrabble_score_test.py
|
|
6491
6555
|
- tracks/python/exercises/secret-handshake/example.py
|
|
6492
|
-
- tracks/python/exercises/secret-handshake/
|
|
6556
|
+
- tracks/python/exercises/secret-handshake/secret_handshake.py
|
|
6557
|
+
- tracks/python/exercises/secret-handshake/secret_handshake_test.py
|
|
6493
6558
|
- tracks/python/exercises/series/example.py
|
|
6559
|
+
- tracks/python/exercises/series/series.py
|
|
6494
6560
|
- tracks/python/exercises/series/series_test.py
|
|
6495
6561
|
- tracks/python/exercises/sieve/example.py
|
|
6562
|
+
- tracks/python/exercises/sieve/sieve.py
|
|
6496
6563
|
- tracks/python/exercises/sieve/sieve_test.py
|
|
6497
6564
|
- tracks/python/exercises/simple-cipher/example.py
|
|
6565
|
+
- tracks/python/exercises/simple-cipher/simple_cipher.py
|
|
6498
6566
|
- tracks/python/exercises/simple-cipher/simple_cipher_test.py
|
|
6499
6567
|
- tracks/python/exercises/space-age/example.py
|
|
6568
|
+
- tracks/python/exercises/space-age/space_age.py
|
|
6500
6569
|
- tracks/python/exercises/space-age/space_age_test.py
|
|
6501
6570
|
- tracks/python/exercises/strain/example.py
|
|
6571
|
+
- tracks/python/exercises/strain/strain.py
|
|
6502
6572
|
- tracks/python/exercises/strain/strain_test.py
|
|
6503
6573
|
- tracks/python/exercises/sublist/example.py
|
|
6574
|
+
- tracks/python/exercises/sublist/sublist.py
|
|
6504
6575
|
- tracks/python/exercises/sublist/sublist_test.py
|
|
6505
6576
|
- tracks/python/exercises/sum-of-multiples/example.py
|
|
6577
|
+
- tracks/python/exercises/sum-of-multiples/sum_of_multiples.py
|
|
6506
6578
|
- tracks/python/exercises/sum-of-multiples/sum_of_multiples_test.py
|
|
6507
6579
|
- tracks/python/exercises/triangle/example.py
|
|
6580
|
+
- tracks/python/exercises/triangle/triangle.py
|
|
6508
6581
|
- tracks/python/exercises/triangle/triangle_test.py
|
|
6509
6582
|
- tracks/python/exercises/trinary/example.py
|
|
6583
|
+
- tracks/python/exercises/trinary/trinary.py
|
|
6510
6584
|
- tracks/python/exercises/trinary/trinary_test.py
|
|
6511
6585
|
- tracks/python/exercises/twelve-days/example.py
|
|
6586
|
+
- tracks/python/exercises/twelve-days/twelve_days.py
|
|
6512
6587
|
- tracks/python/exercises/twelve-days/twelve_days_test.py
|
|
6513
6588
|
- tracks/python/exercises/word-count/example.py
|
|
6589
|
+
- tracks/python/exercises/word-count/word_count.py
|
|
6514
6590
|
- tracks/python/exercises/word-count/word_count_test.py
|
|
6515
6591
|
- tracks/python/exercises/word-search/example.py
|
|
6516
6592
|
- tracks/python/exercises/word-search/word_search.py
|
|
6517
6593
|
- tracks/python/exercises/word-search/word_search_test.py
|
|
6518
6594
|
- tracks/python/exercises/wordy/example.py
|
|
6595
|
+
- tracks/python/exercises/wordy/wordy.py
|
|
6519
6596
|
- tracks/python/exercises/wordy/wordy_test.py
|
|
6520
6597
|
- tracks/python/exercises/zebra-puzzle/example.py
|
|
6598
|
+
- tracks/python/exercises/zebra-puzzle/zebra_puzzle.py
|
|
6521
6599
|
- tracks/python/exercises/zebra-puzzle/zebra_puzzle_test.py
|
|
6522
6600
|
- tracks/python/img/icon.png
|
|
6523
6601
|
- tracks/python/requirements-travis.txt
|
|
@@ -6707,8 +6785,10 @@ files:
|
|
|
6707
6785
|
- tracks/ruby/exercises/anagram/example.tt
|
|
6708
6786
|
- tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb
|
|
6709
6787
|
- tracks/ruby/exercises/atbash-cipher/example.rb
|
|
6788
|
+
- tracks/ruby/exercises/beer-song/.meta/.version
|
|
6710
6789
|
- tracks/ruby/exercises/beer-song/beer_song_test.rb
|
|
6711
6790
|
- tracks/ruby/exercises/beer-song/example.rb
|
|
6791
|
+
- tracks/ruby/exercises/beer-song/example.tt
|
|
6712
6792
|
- tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb
|
|
6713
6793
|
- tracks/ruby/exercises/binary-search-tree/example.rb
|
|
6714
6794
|
- tracks/ruby/exercises/binary-search/binary_search_test.rb
|
|
@@ -6934,6 +7014,7 @@ files:
|
|
|
6934
7014
|
- tracks/ruby/lib/all_your_base_cases.rb
|
|
6935
7015
|
- tracks/ruby/lib/alphametics_cases.rb
|
|
6936
7016
|
- tracks/ruby/lib/anagram_cases.rb
|
|
7017
|
+
- tracks/ruby/lib/beer_song_cases.rb
|
|
6937
7018
|
- tracks/ruby/lib/binary_cases.rb
|
|
6938
7019
|
- tracks/ruby/lib/bookkeeping.md
|
|
6939
7020
|
- tracks/ruby/lib/bowling_cases.rb
|