trackler 2.0.0.9 → 2.0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/ecmascript/SETUP.md +1 -11
- data/tracks/ecmascript/exercises/accumulate/package.json +2 -1
- data/tracks/ecmascript/exercises/acronym/package.json +2 -1
- data/tracks/ecmascript/exercises/allergies/package.json +2 -1
- data/tracks/ecmascript/exercises/anagram/package.json +2 -1
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +2 -1
- data/tracks/ecmascript/exercises/beer-song/package.json +2 -1
- data/tracks/ecmascript/exercises/binary/package.json +2 -1
- data/tracks/ecmascript/exercises/binary-search/package.json +2 -1
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +2 -1
- data/tracks/ecmascript/exercises/bob/package.json +2 -1
- data/tracks/ecmascript/exercises/bracket-push/package.json +2 -1
- data/tracks/ecmascript/exercises/circular-buffer/package.json +2 -1
- data/tracks/ecmascript/exercises/clock/package.json +2 -1
- data/tracks/ecmascript/exercises/crypto-square/package.json +2 -1
- data/tracks/ecmascript/exercises/custom-set/package.json +2 -2
- data/tracks/ecmascript/exercises/diamond/package.json +2 -1
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +2 -1
- data/tracks/ecmascript/exercises/etl/package.json +2 -1
- data/tracks/ecmascript/exercises/food-chain/package.json +2 -1
- data/tracks/ecmascript/exercises/gigasecond/package.json +2 -1
- data/tracks/ecmascript/exercises/grade-school/package.json +2 -1
- data/tracks/ecmascript/exercises/grains/package.json +2 -1
- data/tracks/ecmascript/exercises/hamming/package.json +2 -1
- data/tracks/ecmascript/exercises/hello-world/package.json +2 -1
- data/tracks/ecmascript/exercises/hexadecimal/package.json +2 -1
- data/tracks/ecmascript/exercises/isogram/package.json +2 -1
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +2 -1
- data/tracks/ecmascript/exercises/largest-series-product/package.json +2 -1
- data/tracks/ecmascript/exercises/leap/package.json +2 -1
- data/tracks/ecmascript/exercises/linked-list/package.json +2 -1
- data/tracks/ecmascript/exercises/luhn/package.json +2 -1
- data/tracks/ecmascript/exercises/matrix/package.json +2 -1
- data/tracks/ecmascript/exercises/meetup/package.json +2 -1
- data/tracks/ecmascript/exercises/nth-prime/package.json +2 -1
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +2 -1
- data/tracks/ecmascript/exercises/octal/package.json +2 -1
- data/tracks/ecmascript/exercises/palindrome-products/package.json +2 -1
- data/tracks/ecmascript/exercises/pangram/package.json +2 -1
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +2 -1
- data/tracks/ecmascript/exercises/phone-number/package.json +2 -1
- data/tracks/ecmascript/exercises/pig-latin/package.json +2 -1
- data/tracks/ecmascript/exercises/prime-factors/package.json +2 -1
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +2 -1
- data/tracks/ecmascript/exercises/queen-attack/package.json +2 -1
- data/tracks/ecmascript/exercises/raindrops/package.json +2 -1
- data/tracks/ecmascript/exercises/rna-transcription/package.json +2 -1
- data/tracks/ecmascript/exercises/robot-name/package.json +2 -1
- data/tracks/ecmascript/exercises/robot-simulator/package.json +2 -1
- data/tracks/ecmascript/exercises/roman-numerals/package.json +2 -1
- data/tracks/ecmascript/exercises/saddle-points/package.json +2 -1
- data/tracks/ecmascript/exercises/say/package.json +2 -1
- data/tracks/ecmascript/exercises/scrabble-score/package.json +2 -1
- data/tracks/ecmascript/exercises/secret-handshake/package.json +2 -1
- data/tracks/ecmascript/exercises/series/package.json +2 -1
- data/tracks/ecmascript/exercises/sieve/package.json +2 -1
- data/tracks/ecmascript/exercises/simple-cipher/package.json +2 -1
- data/tracks/ecmascript/exercises/space-age/package.json +2 -1
- data/tracks/ecmascript/exercises/strain/package.json +2 -1
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +2 -1
- data/tracks/ecmascript/exercises/triangle/package.json +2 -1
- data/tracks/ecmascript/exercises/trinary/package.json +2 -1
- data/tracks/ecmascript/exercises/two-bucket/package.json +2 -1
- data/tracks/ecmascript/exercises/word-count/package.json +2 -1
- data/tracks/ecmascript/exercises/wordy/package.json +2 -1
- data/tracks/ecmascript/package.json +2 -1
- data/tracks/go/.travis.yml +1 -1
- data/tracks/go/docs/LEARNING.md +1 -0
- data/tracks/java/config.json +6 -0
- data/tracks/java/exercises/settings.gradle +1 -0
- data/tracks/java/exercises/sum-of-multiples/build.gradle +17 -0
- data/tracks/java/exercises/sum-of-multiples/src/example/java/SumOfMultiples.java +27 -0
- data/tracks/java/exercises/sum-of-multiples/src/main/java/SumOfMultiples.java +4 -0
- data/tracks/java/exercises/sum-of-multiples/src/test/SumOfMultiplesTest.java +187 -0
- data/tracks/ocaml/exercises/word-count/example.ml +14 -19
- data/tracks/ocaml/exercises/word-count/test.ml +33 -18
- data/tracks/ocaml/tools/test-generator/src/codegen.ml +13 -6
- data/tracks/ocaml/tools/test-generator/src/codegen.mli +4 -2
- data/tracks/ocaml/tools/test-generator/src/model.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/parser.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/special_cases.ml +19 -0
- data/tracks/ocaml/tools/test-generator/src/special_cases.mli +6 -0
- data/tracks/ocaml/tools/test-generator/src/test_generator.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/anagram/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/bob/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/hamming/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/hello-world/template.ml +14 -0
- data/tracks/ocaml/tools/test-generator/templates/leap/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/raindrops/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/word-count/template.ml +3 -2
- data/tracks/ocaml/tools/test-generator/test/codegen_test.ml +6 -3
- data/tracks/ocaml/tools/test-generator/{src → test}/leap.json +0 -0
- data/tracks/ocaml/tools/test-generator/test/parser_test.ml +10 -9
- data/tracks/ocaml/tools/test-generator/test/special_cases_test.ml +25 -5
- data/tracks/perl5/.travis.yml +13 -3
- data/tracks/perl5/README.md +7 -2
- data/tracks/perl5/cpanfile +4 -0
- data/tracks/perl5/{accumulate → exercises/accumulate}/Example.pm +0 -0
- data/tracks/perl5/{accumulate → exercises/accumulate}/accumulate.t +6 -1
- data/tracks/perl5/{allergies → exercises/allergies}/Example.pm +0 -0
- data/tracks/perl5/{allergies → exercises/allergies}/allergies.t +7 -2
- data/tracks/perl5/{allergies → exercises/allergies}/cases.json +0 -0
- data/tracks/perl5/{anagram → exercises/anagram}/Example.pm +0 -0
- data/tracks/perl5/{anagram → exercises/anagram}/anagram.t +7 -2
- data/tracks/perl5/{anagram → exercises/anagram}/cases.json +0 -0
- data/tracks/perl5/{atbash-cipher → exercises/atbash-cipher}/Example.pm +0 -0
- data/tracks/perl5/{atbash-cipher → exercises/atbash-cipher}/cases.json +0 -0
- data/tracks/perl5/{atbash-cipher → exercises/atbash-cipher}/cipher.t +7 -2
- data/tracks/perl5/{beer-song → exercises/beer-song}/Example.pm +0 -0
- data/tracks/perl5/{beer-song → exercises/beer-song}/beer.t +7 -2
- data/tracks/perl5/{beer-song → exercises/beer-song}/cases.json +0 -0
- data/tracks/perl5/{binary → exercises/binary}/Example.pm +0 -0
- data/tracks/perl5/{binary → exercises/binary}/binary.t +6 -1
- data/tracks/perl5/{binary-search → exercises/binary-search}/Example.pm +0 -0
- data/tracks/perl5/{binary-search → exercises/binary-search}/binary-search.t +6 -3
- data/tracks/perl5/{binary-search-tree → exercises/binary-search-tree}/Example.pm +0 -0
- data/tracks/perl5/{binary-search-tree → exercises/binary-search-tree}/binary_search_tree.t +5 -0
- data/tracks/perl5/{bob → exercises/bob}/Bob.pm +0 -0
- data/tracks/perl5/{bob → exercises/bob}/Example.pm +0 -0
- data/tracks/perl5/{bob → exercises/bob}/bob.t +6 -1
- data/tracks/perl5/{clock → exercises/clock}/Example.pm +0 -0
- data/tracks/perl5/{clock → exercises/clock}/clock.t +6 -1
- data/tracks/perl5/{crypto-square → exercises/crypto-square}/Example.pm +0 -0
- data/tracks/perl5/{crypto-square → exercises/crypto-square}/crypto.t +6 -1
- data/tracks/perl5/{custom-set → exercises/custom-set}/Example.pm +0 -0
- data/tracks/perl5/{custom-set → exercises/custom-set}/custom-set.t +5 -0
- data/tracks/perl5/{difference-of-squares → exercises/difference-of-squares}/Example.pm +0 -0
- data/tracks/perl5/{difference-of-squares → exercises/difference-of-squares}/difference_of_squares.t +6 -1
- data/tracks/perl5/{etl → exercises/etl}/Example.pm +0 -0
- data/tracks/perl5/{etl → exercises/etl}/etl.t +6 -1
- data/tracks/perl5/{food-chain → exercises/food-chain}/Example.pm +0 -0
- data/tracks/perl5/{food-chain → exercises/food-chain}/food_chain.t +7 -2
- data/tracks/perl5/{gigasecond → exercises/gigasecond}/Example.pm +0 -0
- data/tracks/perl5/{gigasecond → exercises/gigasecond}/gigasecond.t +5 -0
- data/tracks/perl5/{grade-school → exercises/grade-school}/Example.pm +0 -0
- data/tracks/perl5/{grade-school → exercises/grade-school}/grade_school.t +5 -0
- data/tracks/perl5/{grains → exercises/grains}/Example.pm +0 -0
- data/tracks/perl5/{grains → exercises/grains}/cases.json +0 -0
- data/tracks/perl5/{grains → exercises/grains}/grains.t +7 -2
- data/tracks/perl5/{hamming → exercises/hamming}/Example.pm +0 -0
- data/tracks/perl5/{hamming → exercises/hamming}/hamming.t +6 -1
- data/tracks/perl5/{hexadecimal → exercises/hexadecimal}/Example.pm +0 -0
- data/tracks/perl5/{hexadecimal → exercises/hexadecimal}/hexadecimal.t +6 -1
- data/tracks/perl5/{house → exercises/house}/Example.pm +0 -0
- data/tracks/perl5/{house → exercises/house}/house.t +6 -1
- data/tracks/perl5/{kindergarten-garden → exercises/kindergarten-garden}/Example.pm +0 -0
- data/tracks/perl5/{kindergarten-garden → exercises/kindergarten-garden}/kindergarten.t +6 -1
- data/tracks/perl5/{largest-series-product → exercises/largest-series-product}/Example.pm +0 -0
- data/tracks/perl5/{largest-series-product → exercises/largest-series-product}/series_product.t +6 -1
- data/tracks/perl5/{leap → exercises/leap}/Example.pm +0 -0
- data/tracks/perl5/{leap → exercises/leap}/leap.t +6 -0
- data/tracks/perl5/{linked-list → exercises/linked-list}/Example.pm +0 -0
- data/tracks/perl5/{linked-list → exercises/linked-list}/cases.json +0 -0
- data/tracks/perl5/{linked-list → exercises/linked-list}/deque.t +9 -4
- data/tracks/perl5/{list-ops → exercises/list-ops}/Example.pm +0 -0
- data/tracks/perl5/{list-ops → exercises/list-ops}/list-ops.t +6 -3
- data/tracks/perl5/{luhn → exercises/luhn}/Example.pm +0 -0
- data/tracks/perl5/{luhn → exercises/luhn}/luhn.t +7 -2
- data/tracks/perl5/{matrix → exercises/matrix}/Example.pm +0 -0
- data/tracks/perl5/{matrix → exercises/matrix}/matrix.t +6 -1
- data/tracks/perl5/{meetup → exercises/meetup}/Example.pm +0 -0
- data/tracks/perl5/{meetup → exercises/meetup}/meetup.t +7 -1
- data/tracks/perl5/{minesweeper → exercises/minesweeper}/Example.pm +0 -0
- data/tracks/perl5/{minesweeper → exercises/minesweeper}/minesweeper.t +5 -0
- data/tracks/perl5/{nucleotide-count → exercises/nucleotide-count}/Example.pm +0 -0
- data/tracks/perl5/{nucleotide-count → exercises/nucleotide-count}/nucleotide_count.t +5 -0
- data/tracks/perl5/{ocr-numbers → exercises/ocr-numbers}/Example.pm +0 -0
- data/tracks/perl5/{ocr-numbers → exercises/ocr-numbers}/ocr.t +7 -2
- data/tracks/perl5/{palindrome-products → exercises/palindrome-products}/Example.pm +0 -0
- data/tracks/perl5/{palindrome-products → exercises/palindrome-products}/palindrome.t +6 -1
- data/tracks/perl5/{pascals-triangle → exercises/pascals-triangle}/Example.pm +0 -0
- data/tracks/perl5/{pascals-triangle → exercises/pascals-triangle}/cases.json +0 -0
- data/tracks/perl5/{pascals-triangle → exercises/pascals-triangle}/triangle.t +7 -2
- data/tracks/perl5/{phone-number → exercises/phone-number}/Example.pm +0 -0
- data/tracks/perl5/{phone-number → exercises/phone-number}/cases.json +0 -0
- data/tracks/perl5/{phone-number → exercises/phone-number}/phone.t +7 -2
- data/tracks/perl5/{pig-latin → exercises/pig-latin}/Example.pm +0 -0
- data/tracks/perl5/{pig-latin → exercises/pig-latin}/piglatin.t +6 -1
- data/tracks/perl5/{point-mutations → exercises/point-mutations}/Example.pm +0 -0
- data/tracks/perl5/{point-mutations → exercises/point-mutations}/cases.json +0 -0
- data/tracks/perl5/{point-mutations → exercises/point-mutations}/dna.t +7 -2
- data/tracks/perl5/{prime-factors → exercises/prime-factors}/Example.pm +0 -0
- data/tracks/perl5/{prime-factors → exercises/prime-factors}/cases.json +0 -0
- data/tracks/perl5/{prime-factors → exercises/prime-factors}/prime.t +7 -2
- data/tracks/perl5/{proverb → exercises/proverb}/Example.pm +0 -0
- data/tracks/perl5/{proverb → exercises/proverb}/cases.json +0 -0
- data/tracks/perl5/{proverb → exercises/proverb}/proverb.t +8 -2
- data/tracks/perl5/{pythagorean-triplet → exercises/pythagorean-triplet}/Example.pm +0 -0
- data/tracks/perl5/{pythagorean-triplet → exercises/pythagorean-triplet}/triplet.t +7 -2
- data/tracks/perl5/{queen-attack → exercises/queen-attack}/Example.pm +0 -0
- data/tracks/perl5/{queen-attack → exercises/queen-attack}/cases.json +0 -0
- data/tracks/perl5/{queen-attack → exercises/queen-attack}/queen.t +9 -4
- data/tracks/perl5/{raindrops → exercises/raindrops}/Example.pm +0 -0
- data/tracks/perl5/{raindrops → exercises/raindrops}/cases.json +0 -0
- data/tracks/perl5/{raindrops → exercises/raindrops}/raindrops.t +9 -4
- data/tracks/perl5/{rna-transcription → exercises/rna-transcription}/Example.pm +0 -0
- data/tracks/perl5/{rna-transcription → exercises/rna-transcription}/rna.t +8 -3
- data/tracks/perl5/{robot-name → exercises/robot-name}/Example.pm +0 -0
- data/tracks/perl5/{robot-name → exercises/robot-name}/robot_name.t +7 -1
- data/tracks/perl5/{robot-simulator → exercises/robot-simulator}/Example.pm +0 -0
- data/tracks/perl5/{robot-simulator → exercises/robot-simulator}/robot_simulator.t +6 -1
- data/tracks/perl5/{roman-numerals → exercises/roman-numerals}/Example.pm +0 -0
- data/tracks/perl5/{roman-numerals → exercises/roman-numerals}/roman.t +6 -1
- data/tracks/perl5/{saddle-points → exercises/saddle-points}/Example.pm +0 -0
- data/tracks/perl5/{saddle-points → exercises/saddle-points}/saddle_points.t +6 -1
- data/tracks/perl5/{say → exercises/say}/Example.pm +0 -0
- data/tracks/perl5/{say → exercises/say}/say.t +6 -1
- data/tracks/perl5/{scrabble-score → exercises/scrabble-score}/Example.pm +0 -0
- data/tracks/perl5/{scrabble-score → exercises/scrabble-score}/scrabble.t +6 -2
- data/tracks/perl5/{secret-handshake → exercises/secret-handshake}/Example.pm +0 -0
- data/tracks/perl5/{secret-handshake → exercises/secret-handshake}/handshake.t +6 -1
- data/tracks/perl5/{series → exercises/series}/Example.pm +0 -0
- data/tracks/perl5/{series → exercises/series}/series.t +5 -0
- data/tracks/perl5/{sieve → exercises/sieve}/Example.pm +0 -0
- data/tracks/perl5/{sieve → exercises/sieve}/sieve.t +6 -1
- data/tracks/perl5/{simple-cipher → exercises/simple-cipher}/Example.pm +0 -0
- data/tracks/perl5/{simple-cipher → exercises/simple-cipher}/cipher.t +6 -1
- data/tracks/perl5/{simple-linked-list → exercises/simple-linked-list}/Example.pm +0 -0
- data/tracks/perl5/{simple-linked-list → exercises/simple-linked-list}/simple_linked_list.t +5 -0
- data/tracks/perl5/{space-age → exercises/space-age}/Example.pm +0 -0
- data/tracks/perl5/{space-age → exercises/space-age}/space.t +6 -1
- data/tracks/perl5/{strain → exercises/strain}/Example.pm +0 -0
- data/tracks/perl5/{strain → exercises/strain}/strain.t +6 -1
- data/tracks/perl5/{sublist → exercises/sublist}/Example.pm +0 -0
- data/tracks/perl5/{sublist → exercises/sublist}/sublist.t +5 -0
- data/tracks/perl5/{sum-of-multiples → exercises/sum-of-multiples}/Example.pm +0 -0
- data/tracks/perl5/{sum-of-multiples → exercises/sum-of-multiples}/sum_of_multiples.t +6 -1
- data/tracks/perl5/{triangle → exercises/triangle}/Example.pm +0 -0
- data/tracks/perl5/{triangle → exercises/triangle}/cases.json +0 -0
- data/tracks/perl5/{triangle → exercises/triangle}/triangle.t +9 -4
- data/tracks/perl5/{trinary → exercises/trinary}/Example.pm +0 -0
- data/tracks/perl5/{trinary → exercises/trinary}/trinary.t +6 -1
- data/tracks/perl5/{twelve-days → exercises/twelve-days}/Example.pm +0 -0
- data/tracks/perl5/{twelve-days → exercises/twelve-days}/song.t +7 -2
- data/tracks/perl5/{word-count → exercises/word-count}/Example.pm +0 -0
- data/tracks/perl5/{word-count → exercises/word-count}/word_count.t +8 -3
- data/tracks/perl5/{wordy → exercises/wordy}/Example.pm +0 -0
- data/tracks/perl5/{wordy → exercises/wordy}/cases.json +0 -0
- data/tracks/perl5/{wordy → exercises/wordy}/wordy.t +9 -4
- data/tracks/perl6/.travis.yml +10 -3
- data/tracks/perl6/SETUP.md +7 -0
- data/tracks/perl6/docs/LEARNING.md +1 -1
- data/tracks/perl6/docs/RESOURCES.md +1 -2
- data/tracks/perl6/docs/{TOOLS.md → TESTS.md} +0 -0
- data/tracks/perl6/{accumulate → exercises/accumulate}/Example.pm +0 -0
- data/tracks/perl6/{accumulate → exercises/accumulate}/accumulate.t +1 -0
- data/tracks/perl6/{anagram → exercises/anagram}/Example.pm +0 -0
- data/tracks/perl6/{anagram → exercises/anagram}/anagram.t +1 -0
- data/tracks/perl6/{binary → exercises/binary}/Example.pm +0 -0
- data/tracks/perl6/{binary → exercises/binary}/binary.t +1 -0
- data/tracks/perl6/{bob → exercises/bob}/Example.pm +0 -0
- data/tracks/perl6/{bob → exercises/bob}/bob.t +1 -0
- data/tracks/perl6/{grains → exercises/grains}/Example.pm +0 -0
- data/tracks/perl6/{grains → exercises/grains}/grains.t +1 -0
- data/tracks/perl6/{leap → exercises/leap}/Example.pm +0 -0
- data/tracks/perl6/{leap → exercises/leap}/leap.t +1 -0
- data/tracks/perl6/{raindrops → exercises/raindrops}/Example.pm +0 -0
- data/tracks/perl6/{raindrops → exercises/raindrops}/raindrops.t +1 -0
- data/tracks/perl6/{rna-transcription → exercises/rna-transcription}/Example.pm +0 -0
- data/tracks/perl6/{rna-transcription → exercises/rna-transcription}/rna_transcription.t +5 -4
- data/tracks/perl6/{robot-name → exercises/robot-name}/Example.pm +0 -0
- data/tracks/perl6/{robot-name → exercises/robot-name}/robot.t +1 -0
- data/tracks/perl6/{scrabble-score → exercises/scrabble-score}/Example.pm +0 -0
- data/tracks/perl6/{scrabble-score → exercises/scrabble-score}/scrabble_score.t +1 -0
- data/tracks/perl6/{word-count → exercises/word-count}/Example.pm +0 -0
- data/tracks/perl6/{word-count → exercises/word-count}/word_count.t +1 -0
- data/tracks/ruby/exercises/accumulate/accumulate_test.rb +21 -0
- data/tracks/ruby/exercises/accumulate/example.rb +4 -0
- data/tracks/ruby/exercises/bob/bob_test.rb +1 -1
- data/tracks/ruby/exercises/bob/example.rb +3 -1
- data/tracks/ruby/exercises/bowling/example.rb +4 -4
- metadata +174 -169
- data/tracks/perl5/testall.pl +0 -18
@@ -1,11 +1,16 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use JSON::PP;
|
6
7
|
use bigint;
|
8
|
+
use FindBin;
|
9
|
+
my $dir;
|
10
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
11
|
+
use lib $dir;
|
7
12
|
|
8
|
-
my $cases_file =
|
13
|
+
my $cases_file = "${dir}cases.json";
|
9
14
|
my $cases;
|
10
15
|
my $decoder = JSON::PP->new();
|
11
16
|
$decoder->allow_bignum(1);
|
@@ -21,7 +26,7 @@ plan tests => 4 + @$cases;
|
|
21
26
|
|
22
27
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Grains';
|
23
28
|
|
24
|
-
ok
|
29
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create a class called $module.pm";
|
25
30
|
|
26
31
|
use_ok($module)
|
27
32
|
or BAIL_OUT "Does $module.pm compile? Does it end with 1;?";
|
File without changes
|
@@ -1,13 +1,18 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Hamming';
|
7
12
|
|
8
13
|
plan tests => 11;
|
9
14
|
|
10
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
15
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
11
16
|
eval "use $module";
|
12
17
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module. Does it compile? Does it end with 1;?";
|
13
18
|
can_ok $module, 'compute' or BAIL_OUT "Missing package $module; or missing sub compute()?";
|
File without changes
|
@@ -1,7 +1,12 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my @cases = (
|
7
12
|
{
|
@@ -50,7 +55,7 @@ my $module = $ENV{EXERCISM} ? 'Example' : 'Hexadecimal';
|
|
50
55
|
|
51
56
|
plan tests => 4 + @cases;
|
52
57
|
|
53
|
-
ok -e "$module.pm", "Missing $module.pm"
|
58
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm"
|
54
59
|
or BAIL_OUT "You need to create file: $module.pm";
|
55
60
|
eval "use $module";
|
56
61
|
|
File without changes
|
@@ -1,13 +1,18 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'House';
|
7
12
|
|
8
13
|
plan tests => 5;
|
9
14
|
|
10
|
-
ok -e "$module.pm", "Missing $module.pm"
|
15
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm"
|
11
16
|
or BAIL_OUT "You need to create file: $module.pm";
|
12
17
|
|
13
18
|
eval "use $module";
|
File without changes
|
@@ -1,7 +1,12 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $full_garden = "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV";
|
7
12
|
|
@@ -170,7 +175,7 @@ my $module = $ENV{EXERCISM} ? 'Example' : 'Kindergarten';
|
|
170
175
|
|
171
176
|
plan tests => 3 + @cases;
|
172
177
|
|
173
|
-
ok -e "$module.pm", "Missing $module.pm"
|
178
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm"
|
174
179
|
or BAIL_OUT "You need to create file: $module.pm";
|
175
180
|
|
176
181
|
eval "use $module";
|
File without changes
|
data/tracks/perl5/{largest-series-product → exercises/largest-series-product}/series_product.t
RENAMED
@@ -1,14 +1,19 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use Test::Exception;
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
6
11
|
|
7
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Series';
|
8
13
|
|
9
14
|
plan tests => 14;
|
10
15
|
|
11
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
16
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
12
17
|
|
13
18
|
eval "use $module";
|
14
19
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module. Does it compile? Does it end with 1;?";
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,12 +1,17 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
|
-
my $module = $ENV{EXERCISM} ? 'Example' : 'Deque';
|
5
|
-
|
6
5
|
use Test::More;
|
7
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
11
|
+
|
12
|
+
my $module = $ENV{EXERCISM} ? 'Example' : 'Deque';
|
8
13
|
|
9
|
-
my $cases_file =
|
14
|
+
my $cases_file = "${dir}cases.json";
|
10
15
|
my $cases;
|
11
16
|
if (open my $fh, '<', $cases_file) {
|
12
17
|
local $/ = undef;
|
@@ -18,7 +23,7 @@ if (open my $fh, '<', $cases_file) {
|
|
18
23
|
#plan tests => 3 + @$cases;
|
19
24
|
#diag explain $cases;
|
20
25
|
|
21
|
-
ok -e "$module.pm", "missing $module.pm"
|
26
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
22
27
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called new.");
|
23
28
|
|
24
29
|
eval "use $module";
|
File without changes
|
@@ -1,9 +1,12 @@
|
|
1
|
-
#!/usr/bin/perl
|
2
|
-
|
1
|
+
#!/usr/bin/env perl
|
3
2
|
use strict;
|
4
3
|
use warnings;
|
5
4
|
|
6
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
7
10
|
|
8
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'ListOps';
|
9
12
|
|
@@ -77,7 +80,7 @@ foreach my $test_type ( keys %test_cases ) {
|
|
77
80
|
|
78
81
|
plan tests => 5 + $num_test_cases;
|
79
82
|
|
80
|
-
ok -e "$module.pm", "missing $module.pm"
|
83
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
81
84
|
or BAIL_OUT("You need to create a class called $module.pm with 3 functions: map, reduce, and length.");
|
82
85
|
|
83
86
|
eval "use $module";
|
File without changes
|
@@ -1,11 +1,16 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
|
-
use Test::More
|
5
|
+
use Test::More tests => 16;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Luhn';
|
7
12
|
|
8
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
13
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
9
14
|
eval "use $module";
|
10
15
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module; Does it compile? Does it end with 1;?";
|
11
16
|
|
File without changes
|
@@ -1,13 +1,18 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Matrix';
|
7
12
|
|
8
13
|
plan tests => 11;
|
9
14
|
|
10
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create the file: $module.pm";
|
15
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create the file: $module.pm";
|
11
16
|
eval "use $module";
|
12
17
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module. Does it compile? Does it end with 1;?";
|
13
18
|
can_ok $module, "new" or BAIL_OUT "Missing package $module; or missing sub new()";
|
File without changes
|
@@ -1,13 +1,19 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use warnings;
|
2
3
|
use strict;
|
4
|
+
|
3
5
|
use DateTime;
|
4
6
|
use Test::More;
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
5
11
|
|
6
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Meetup';
|
7
13
|
|
8
14
|
plan tests => 95;
|
9
15
|
|
10
|
-
ok -e "$module.pm", "missing $module.pm"
|
16
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
11
17
|
or BAIL_OUT("You need to create a module called $module.pm with a method called day() that gets two parameters: the day of the week and the schedule and returns a DateTime object for the correct date.");
|
12
18
|
|
13
19
|
eval "use $module";
|
File without changes
|
@@ -1,8 +1,13 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More tests => 13;
|
5
6
|
use Test::Exception;
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
6
11
|
|
7
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Minesweeper';
|
8
13
|
my $name = 'count_adjacent_bombs';
|
File without changes
|
File without changes
|
@@ -1,11 +1,16 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
|
-
use Test::More
|
5
|
+
use Test::More tests => 20;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'OCR';
|
7
12
|
|
8
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
13
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
9
14
|
|
10
15
|
eval "use $module";
|
11
16
|
ok !$@, "Cannot load $module"
|
File without changes
|
@@ -1,13 +1,18 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Palindrome';
|
7
12
|
|
8
13
|
plan tests => 15;
|
9
14
|
|
10
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
15
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
11
16
|
|
12
17
|
eval "use $module";
|
13
18
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module. Does it compile? Does it end with 1;?";
|
File without changes
|
File without changes
|
@@ -1,12 +1,17 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
6
11
|
|
7
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Triangle';
|
8
13
|
|
9
|
-
my $cases_file =
|
14
|
+
my $cases_file = "${dir}cases.json";
|
10
15
|
my $cases;
|
11
16
|
if (open my $fh, '<', $cases_file) {
|
12
17
|
local $/ = undef;
|
@@ -17,7 +22,7 @@ if (open my $fh, '<', $cases_file) {
|
|
17
22
|
|
18
23
|
plan tests => 5 + @$cases;
|
19
24
|
|
20
|
-
ok -e "$module.pm", "missing $module.pm"
|
25
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
21
26
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called new.");
|
22
27
|
|
23
28
|
eval "use $module";
|
File without changes
|
File without changes
|
@@ -1,10 +1,15 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
6
11
|
|
7
|
-
my $cases_file =
|
12
|
+
my $cases_file = "${dir}cases.json";
|
8
13
|
my $cases;
|
9
14
|
if (open my $fh, '<', $cases_file) {
|
10
15
|
local $/ = undef;
|
@@ -17,7 +22,7 @@ plan tests => 6 + @$cases;
|
|
17
22
|
|
18
23
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Phone';
|
19
24
|
|
20
|
-
ok -e "$module.pm", "missing $module.pm"
|
25
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
21
26
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called new.");
|
22
27
|
|
23
28
|
eval "use $module";
|
File without changes
|
@@ -1,7 +1,12 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my @cases = (
|
7
12
|
{
|
@@ -66,7 +71,7 @@ my $module = $ENV{EXERCISM} ? 'Example' : 'PigLatin';
|
|
66
71
|
|
67
72
|
plan tests => 3 + @cases;
|
68
73
|
|
69
|
-
ok -e "$module.pm", "Missing file $module.pm",
|
74
|
+
ok -e "${dir}${module}.pm", "Missing file $module.pm",
|
70
75
|
or BAIL_OUT "You need to create file: $module.pm";
|
71
76
|
|
72
77
|
eval "use $module";
|
File without changes
|
File without changes
|
@@ -1,12 +1,17 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
6
11
|
|
7
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'DNA';
|
8
13
|
|
9
|
-
my $cases_file =
|
14
|
+
my $cases_file = "${dir}cases.json";
|
10
15
|
my $cases;
|
11
16
|
if (open my $fh, '<', $cases_file) {
|
12
17
|
local $/ = undef;
|
@@ -17,7 +22,7 @@ if (open my $fh, '<', $cases_file) {
|
|
17
22
|
|
18
23
|
plan tests => 4 + @$cases;
|
19
24
|
|
20
|
-
ok -e "$module.pm", "missing $module.pm"
|
25
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
21
26
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called new.");
|
22
27
|
|
23
28
|
eval "use $module";
|
File without changes
|
File without changes
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
@@ -5,8 +6,12 @@ my $module = $ENV{EXERCISM} ? 'Example' : 'Prime';
|
|
5
6
|
|
6
7
|
use Test::More;
|
7
8
|
use JSON qw(from_json);
|
9
|
+
use FindBin;
|
10
|
+
my $dir;
|
11
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
12
|
+
use lib $dir;
|
8
13
|
|
9
|
-
my $cases_file =
|
14
|
+
my $cases_file = "${dir}cases.json";
|
10
15
|
my $cases;
|
11
16
|
if (open my $fh, '<', $cases_file) {
|
12
17
|
local $/ = undef;
|
@@ -18,7 +23,7 @@ if (open my $fh, '<', $cases_file) {
|
|
18
23
|
#plan tests => 3 + @$cases;
|
19
24
|
#diag explain $cases;
|
20
25
|
|
21
|
-
ok -e "$module.pm", "missing $module.pm"
|
26
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
22
27
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called factors.");
|
23
28
|
|
24
29
|
eval "use $module";
|
File without changes
|
File without changes
|
@@ -1,12 +1,18 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
5
|
use Test::More;
|
5
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
11
|
+
|
6
12
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Proverb';
|
7
13
|
my $sub = 'proverb';
|
8
14
|
|
9
|
-
my $cases_file =
|
15
|
+
my $cases_file = "${dir}cases.json";
|
10
16
|
my $cases;
|
11
17
|
if (open my $fh, '<', $cases_file) {
|
12
18
|
local $/ = undef;
|
@@ -17,7 +23,7 @@ if (open my $fh, '<', $cases_file) {
|
|
17
23
|
|
18
24
|
plan tests => 3 + @$cases;
|
19
25
|
|
20
|
-
ok -e "$module.pm", "missing $module.pm"
|
26
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
21
27
|
or BAIL_OUT("You need to create a class called $module.pm");
|
22
28
|
|
23
29
|
eval "use $module";
|
File without changes
|
@@ -1,10 +1,15 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
|
-
use Test::More
|
5
|
+
use Test::More tests => 14;
|
6
|
+
use FindBin;
|
7
|
+
my $dir;
|
8
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
9
|
+
use lib $dir;
|
5
10
|
|
6
11
|
my $module = $ENV{EXERCISM} ? 'Example' : 'Triplet';
|
7
|
-
ok -e "$module.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
12
|
+
ok -e "${dir}${module}.pm", "Missing $module.pm" or BAIL_OUT "You need to create file: $module.pm";
|
8
13
|
|
9
14
|
eval "use $module";
|
10
15
|
ok !$@, "Cannot load $module" or BAIL_OUT "Cannot load $module. Does it compile? Does it end with 1;?";
|
File without changes
|
File without changes
|
@@ -1,12 +1,17 @@
|
|
1
|
+
#!/usr/bin/env perl
|
1
2
|
use strict;
|
2
3
|
use warnings;
|
3
4
|
|
4
|
-
my $module = $ENV{EXERCISM} ? 'Example' : 'Queens';
|
5
|
-
|
6
5
|
use Test::More;
|
7
6
|
use JSON qw(from_json);
|
7
|
+
use FindBin;
|
8
|
+
my $dir;
|
9
|
+
BEGIN { $dir = $FindBin::Bin . '/' };
|
10
|
+
use lib $dir;
|
11
|
+
|
12
|
+
my $module = $ENV{EXERCISM} ? 'Example' : 'Queens';
|
8
13
|
|
9
|
-
my $cases_file =
|
14
|
+
my $cases_file = "${dir}cases.json";
|
10
15
|
my $cases;
|
11
16
|
if (open my $fh, '<', $cases_file) {
|
12
17
|
local $/ = undef;
|
@@ -25,7 +30,7 @@ foreach my $c (@$cases) {
|
|
25
30
|
}
|
26
31
|
plan tests => $tests;
|
27
32
|
|
28
|
-
ok -e "$module.pm", "missing $module.pm"
|
33
|
+
ok -e "${dir}${module}.pm", "missing $module.pm"
|
29
34
|
or BAIL_OUT("You need to create a class called $module.pm with a constructor called new.");
|
30
35
|
|
31
36
|
eval "use $module";
|
File without changes
|
File without changes
|