trackler 2.1.0.41 → 2.1.0.42
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fixtures/tracks/fake/docs/STRAY.md +1 -0
- data/lib/trackler/doc_file.rb +88 -0
- data/lib/trackler/track.rb +6 -40
- data/lib/trackler/version.rb +1 -1
- data/tracks/bash/README.md +2 -2
- data/tracks/bash/config.json +1 -1
- data/tracks/c/README.md +1 -1
- data/tracks/c/config.json +1 -1
- data/tracks/ceylon/README.md +4 -4
- data/tracks/ceylon/config.json +1 -1
- data/tracks/clojure/README.org +3 -3
- data/tracks/clojure/config.json +1 -1
- data/tracks/cpp/README.md +2 -2
- data/tracks/cpp/config.json +1 -1
- data/tracks/cpp/docs/INSTALLATION.md +2 -2
- data/tracks/crystal/config.json +1 -1
- data/tracks/csharp/config.json +1 -1
- data/tracks/delphi/README.md +2 -2
- data/tracks/delphi/config.json +1 -1
- data/tracks/delphi/exercises/bowling/uBowlingTests.pas +14 -14
- data/tracks/ecmascript/config.json +1 -1
- data/tracks/elisp/README.org +4 -4
- data/tracks/elisp/config.json +1 -1
- data/tracks/elixir/README.md +3 -3
- data/tracks/elixir/config.json +1 -1
- data/tracks/erlang/README.md +2 -2
- data/tracks/erlang/config.json +2 -2
- data/tracks/factor/README.md +9 -9
- data/tracks/factor/config.json +1 -1
- data/tracks/fsharp/config.json +1 -1
- data/tracks/go/README.md +16 -16
- data/tracks/go/config.json +1 -1
- data/tracks/go/exercises/gigasecond/gigasecond_test.go +2 -2
- data/tracks/go/gen/gen.go +2 -2
- data/tracks/haskell/.gitignore +1 -1
- data/tracks/haskell/README.md +12 -8
- data/tracks/haskell/config.json +1 -1
- data/tracks/haskell/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/idris/README.md +1 -1
- data/tracks/idris/config.json +1 -1
- data/tracks/java/POLICIES.md +7 -7
- data/tracks/java/README.md +7 -7
- data/tracks/java/bin/journey-test.sh +1 -1
- data/tracks/java/config.json +1 -1
- data/tracks/java/docs/MAINTAINING.md +3 -20
- data/tracks/java/docs/TESTS.md +3 -3
- data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +23 -20
- data/tracks/java/exercises/hello-world/GETTING_STARTED.md +1 -1
- data/tracks/java/exercises/hello-world/TUTORIAL.md +2 -2
- data/tracks/javascript/config.json +1 -1
- data/tracks/julia/.travis.yml +0 -2
- data/tracks/julia/config.json +9 -0
- data/tracks/julia/exercises/custom-set/example.jl +1 -1
- data/tracks/julia/exercises/luhn/example.jl +1 -1
- data/tracks/julia/exercises/robot-name/HINTS.md +17 -0
- data/tracks/julia/exercises/robot-name/example.jl +14 -0
- data/tracks/julia/exercises/robot-name/robot-name.jl +8 -0
- data/tracks/julia/exercises/robot-name/runtests.jl +69 -0
- data/tracks/kotlin/README.md +7 -7
- data/tracks/kotlin/config.json +1 -1
- data/tracks/kotlin/docs/TESTS.md +3 -3
- data/tracks/kotlin/exercises/hello-world/GETTING_STARTED.md +1 -1
- data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +1 -1
- data/tracks/lfe/README.md +2 -2
- data/tracks/lfe/config.json +1 -1
- data/tracks/lisp/README.md +1 -1
- data/tracks/lisp/config.json +2 -2
- data/tracks/lua/README.md +9 -9
- data/tracks/lua/config.json +1 -1
- data/tracks/lua/exercises/hamming/hamming_spec.lua +15 -7
- data/tracks/lua/exercises/raindrops/raindrops_spec.lua +46 -14
- data/tracks/mips/config.json +1 -1
- data/tracks/objective-c/Dangerfile +1 -1
- data/tracks/objective-c/README.md +1 -1
- data/tracks/objective-c/config.json +1 -1
- data/tracks/ocaml/README.md +2 -2
- data/tracks/ocaml/config.json +1 -1
- data/tracks/ocaml/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/ocaml/tools/test-generator/README.md +2 -2
- data/tracks/perl5/README.md +1 -1
- data/tracks/perl5/config.json +1 -1
- data/tracks/perl6/README.md +2 -2
- data/tracks/perl6/config.json +1 -1
- data/tracks/perl6/exercises/all-your-base/all-your-base.t +43 -32
- data/tracks/perl6/exercises/all-your-base/example.yaml +19 -9
- data/tracks/php/config.json +1 -1
- data/tracks/pony/README.md +2 -2
- data/tracks/pony/config.json +1 -1
- data/tracks/powershell/README.md +1 -1
- data/tracks/powershell/config.json +1 -1
- data/tracks/purescript/README.md +5 -5
- data/tracks/purescript/config.json +1 -1
- data/tracks/r/README.md +3 -3
- data/tracks/r/config.json +1 -1
- data/tracks/racket/README.md +2 -2
- data/tracks/racket/config.json +1 -1
- data/tracks/ruby/README.md +9 -9
- data/tracks/ruby/config.json +1 -1
- data/tracks/rust/config.json +1 -1
- data/tracks/rust/exercises/gigasecond/src/lib.rs +7 -0
- data/tracks/rust/exercises/protein-translation/example.rs +11 -22
- data/tracks/rust/exercises/protein-translation/tests/proteins.rs +56 -36
- data/tracks/scala/config.json +1 -1
- data/tracks/scala/exercises/all-your-base/src/test/scala/AllYourBaseTest.scala +46 -64
- data/tracks/scala/exercises/rna-transcription/example.scala +1 -3
- data/tracks/scala/exercises/rna-transcription/src/test/scala/RnaTranscriptionTest.scala +19 -23
- data/tracks/scala/exercises/scrabble-score/example.scala +2 -2
- data/tracks/scala/exercises/scrabble-score/src/test/scala/ScrabbleScoreTest.scala +37 -16
- data/tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala +32 -42
- data/tracks/scala/testgen/src/main/scala/RnaTranscriptionTestGenerator.scala +34 -0
- data/tracks/scala/testgen/src/main/scala/ScrabbleScoreTestGenerator.scala +15 -0
- data/tracks/sml/README.md +1 -3
- data/tracks/sml/config.json +1 -1
- data/tracks/sml/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/swift/config.json +1 -1
- data/tracks/typescript/README.md +1 -1
- data/tracks/typescript/config.json +1 -1
- data/tracks/vimscript/README.md +5 -5
- data/tracks/vimscript/config.json +8 -1
- data/tracks/vimscript/exercises/largest-series-product/example.vim +31 -0
- data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vader +95 -0
- data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vim +17 -0
- metadata +13 -2
@@ -0,0 +1,95 @@
|
|
1
|
+
"
|
2
|
+
" Version: 1.0.0
|
3
|
+
"
|
4
|
+
|
5
|
+
Before:
|
6
|
+
unlet! input span expected
|
7
|
+
|
8
|
+
Execute (finds the largest product if span equals length):
|
9
|
+
let input = "29"
|
10
|
+
let span = 2
|
11
|
+
let expected = 18
|
12
|
+
AssertEqual expected, LargestProduct(input, span)
|
13
|
+
|
14
|
+
Execute (can find the largest product of 2 with numbers in order):
|
15
|
+
let input = "0123456789"
|
16
|
+
let span = 2
|
17
|
+
let expected = 72
|
18
|
+
AssertEqual expected, LargestProduct(input, span)
|
19
|
+
|
20
|
+
Execute (can find the largest product of 2):
|
21
|
+
let input = "576802143"
|
22
|
+
let span = 2
|
23
|
+
let expected = 48
|
24
|
+
AssertEqual expected, LargestProduct(input, span)
|
25
|
+
|
26
|
+
Execute (can find the largest product of 3 with numbers in order):
|
27
|
+
let input = "0123456789"
|
28
|
+
let span = 3
|
29
|
+
let expected = 504
|
30
|
+
AssertEqual expected, LargestProduct(input, span)
|
31
|
+
|
32
|
+
Execute (can find the largest product of 3):
|
33
|
+
let input = "1027839564"
|
34
|
+
let span = 3
|
35
|
+
let expected = 270
|
36
|
+
AssertEqual expected, LargestProduct(input, span)
|
37
|
+
|
38
|
+
Execute (can find the largest product of 5 with numbers in order):
|
39
|
+
let input = "0123456789"
|
40
|
+
let span = 5
|
41
|
+
let expected = 15120
|
42
|
+
AssertEqual expected, LargestProduct(input, span)
|
43
|
+
|
44
|
+
Execute (can get the largest product of a big number):
|
45
|
+
let input = "73167176531330624919225119674426574742355349194934"
|
46
|
+
let span = 6
|
47
|
+
let expected = 23520
|
48
|
+
AssertEqual expected, LargestProduct(input, span)
|
49
|
+
|
50
|
+
Execute (reports zero if the only digits are zero):
|
51
|
+
let input = "0000"
|
52
|
+
let span = 2
|
53
|
+
let expected = 0
|
54
|
+
AssertEqual expected, LargestProduct(input, span)
|
55
|
+
|
56
|
+
Execute (reports zero if all spans include zero):
|
57
|
+
let input = "99099"
|
58
|
+
let span = 3
|
59
|
+
let expected = 0
|
60
|
+
AssertEqual expected, LargestProduct(input, span)
|
61
|
+
|
62
|
+
Execute (rejects span longer than string length):
|
63
|
+
let input = "123"
|
64
|
+
let span = 4
|
65
|
+
let expected = -1
|
66
|
+
AssertEqual expected, LargestProduct(input, span)
|
67
|
+
|
68
|
+
Execute (reports 1 for empty string and empty product (0 span)):
|
69
|
+
let input = ""
|
70
|
+
let span = 0
|
71
|
+
let expected = 1
|
72
|
+
AssertEqual expected, LargestProduct(input, span)
|
73
|
+
|
74
|
+
Execute (reports 1 for nonempty string and empty product (0 span)):
|
75
|
+
let input = "123"
|
76
|
+
let span = 0
|
77
|
+
let expected = 1
|
78
|
+
AssertEqual expected, LargestProduct(input, span)
|
79
|
+
|
80
|
+
Execute (rejects empty string and nonzero span):
|
81
|
+
let input = ""
|
82
|
+
let span = 1
|
83
|
+
let expected = -1
|
84
|
+
AssertEqual expected, LargestProduct(input, span)
|
85
|
+
|
86
|
+
Execute (rejects invalid character in digits):
|
87
|
+
AssertThrows call LargestProduct('1234a5', 2)
|
88
|
+
AssertEqual 'invalid input', g:vader_exception
|
89
|
+
|
90
|
+
Execute (rejects negative span):
|
91
|
+
let input = "12345"
|
92
|
+
let span = -1
|
93
|
+
let expected = -1
|
94
|
+
AssertEqual expected, LargestProduct(input, span)
|
95
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"
|
2
|
+
" Given a string of digits, calculate the largest product for a contiguous
|
3
|
+
" substring of digits of length n.
|
4
|
+
"
|
5
|
+
" :echo LargestProduct('1234', 1)
|
6
|
+
" 4
|
7
|
+
" :echo LargestProduct('1234', 2)
|
8
|
+
" 12
|
9
|
+
" :echo LargestProduct('1234', 3)
|
10
|
+
" 24
|
11
|
+
" :echo LargestProduct('1234', 4)
|
12
|
+
" 24
|
13
|
+
"
|
14
|
+
|
15
|
+
function! LargestProduct(digits, span) abort
|
16
|
+
" your code goes here
|
17
|
+
endfunction
|
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.1.0.
|
4
|
+
version: 2.1.0.42
|
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-06-
|
11
|
+
date: 2017-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -480,6 +480,7 @@ files:
|
|
480
480
|
- fixtures/tracks/fake/docs/INSTALLATION.org
|
481
481
|
- fixtures/tracks/fake/docs/LEARNING.org
|
482
482
|
- fixtures/tracks/fake/docs/RESOURCES.unknown_extension
|
483
|
+
- fixtures/tracks/fake/docs/STRAY.md
|
483
484
|
- fixtures/tracks/fake/docs/TESTS.md
|
484
485
|
- fixtures/tracks/fake/docs/img/test.jpg
|
485
486
|
- fixtures/tracks/fake/docs/img/test.png
|
@@ -527,6 +528,7 @@ files:
|
|
527
528
|
- fixtures/tracks/vehicles/config.json
|
528
529
|
- lib/trackler.rb
|
529
530
|
- lib/trackler/description.rb
|
531
|
+
- lib/trackler/doc_file.rb
|
530
532
|
- lib/trackler/file_bundle.rb
|
531
533
|
- lib/trackler/guaranteed_file.rb
|
532
534
|
- lib/trackler/implementation.rb
|
@@ -5022,6 +5024,10 @@ files:
|
|
5022
5024
|
- tracks/julia/exercises/rna-transcription/example.jl
|
5023
5025
|
- tracks/julia/exercises/rna-transcription/rna-transcription.jl
|
5024
5026
|
- tracks/julia/exercises/rna-transcription/runtests.jl
|
5027
|
+
- tracks/julia/exercises/robot-name/HINTS.md
|
5028
|
+
- tracks/julia/exercises/robot-name/example.jl
|
5029
|
+
- tracks/julia/exercises/robot-name/robot-name.jl
|
5030
|
+
- tracks/julia/exercises/robot-name/runtests.jl
|
5025
5031
|
- tracks/julia/exercises/roman-numerals/example.jl
|
5026
5032
|
- tracks/julia/exercises/roman-numerals/roman-numerals.jl
|
5027
5033
|
- tracks/julia/exercises/roman-numerals/runtests.jl
|
@@ -8543,6 +8549,8 @@ files:
|
|
8543
8549
|
- tracks/scala/testgen/src/main/scala/PhoneNumberTestGenerator.scala
|
8544
8550
|
- tracks/scala/testgen/src/main/scala/RailFenceCipherTestGenerator.scala
|
8545
8551
|
- tracks/scala/testgen/src/main/scala/RaindropsTestGenerator.scala
|
8552
|
+
- tracks/scala/testgen/src/main/scala/RnaTranscriptionTestGenerator.scala
|
8553
|
+
- tracks/scala/testgen/src/main/scala/ScrabbleScoreTestGenerator.scala
|
8546
8554
|
- tracks/scala/testgen/src/main/scala/SumOfMultiplesTestGenerator.scala
|
8547
8555
|
- tracks/scala/testgen/src/main/scala/TestBuilder.scala
|
8548
8556
|
- tracks/scala/testgen/src/main/scala/VariableLengthQuantityTestGenerator.scala
|
@@ -9346,6 +9354,9 @@ files:
|
|
9346
9354
|
- tracks/vimscript/exercises/hello-world/example.vim
|
9347
9355
|
- tracks/vimscript/exercises/hello-world/hello_world.vader
|
9348
9356
|
- tracks/vimscript/exercises/hello-world/hello_world.vim
|
9357
|
+
- tracks/vimscript/exercises/largest-series-product/example.vim
|
9358
|
+
- tracks/vimscript/exercises/largest-series-product/largest_series_product.vader
|
9359
|
+
- tracks/vimscript/exercises/largest-series-product/largest_series_product.vim
|
9349
9360
|
- tracks/vimscript/exercises/leap/example.vim
|
9350
9361
|
- tracks/vimscript/exercises/leap/leap.vader
|
9351
9362
|
- tracks/vimscript/exercises/leap/leap.vim
|