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.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/fake/docs/STRAY.md +1 -0
  3. data/lib/trackler/doc_file.rb +88 -0
  4. data/lib/trackler/track.rb +6 -40
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/bash/README.md +2 -2
  7. data/tracks/bash/config.json +1 -1
  8. data/tracks/c/README.md +1 -1
  9. data/tracks/c/config.json +1 -1
  10. data/tracks/ceylon/README.md +4 -4
  11. data/tracks/ceylon/config.json +1 -1
  12. data/tracks/clojure/README.org +3 -3
  13. data/tracks/clojure/config.json +1 -1
  14. data/tracks/cpp/README.md +2 -2
  15. data/tracks/cpp/config.json +1 -1
  16. data/tracks/cpp/docs/INSTALLATION.md +2 -2
  17. data/tracks/crystal/config.json +1 -1
  18. data/tracks/csharp/config.json +1 -1
  19. data/tracks/delphi/README.md +2 -2
  20. data/tracks/delphi/config.json +1 -1
  21. data/tracks/delphi/exercises/bowling/uBowlingTests.pas +14 -14
  22. data/tracks/ecmascript/config.json +1 -1
  23. data/tracks/elisp/README.org +4 -4
  24. data/tracks/elisp/config.json +1 -1
  25. data/tracks/elixir/README.md +3 -3
  26. data/tracks/elixir/config.json +1 -1
  27. data/tracks/erlang/README.md +2 -2
  28. data/tracks/erlang/config.json +2 -2
  29. data/tracks/factor/README.md +9 -9
  30. data/tracks/factor/config.json +1 -1
  31. data/tracks/fsharp/config.json +1 -1
  32. data/tracks/go/README.md +16 -16
  33. data/tracks/go/config.json +1 -1
  34. data/tracks/go/exercises/gigasecond/gigasecond_test.go +2 -2
  35. data/tracks/go/gen/gen.go +2 -2
  36. data/tracks/haskell/.gitignore +1 -1
  37. data/tracks/haskell/README.md +12 -8
  38. data/tracks/haskell/config.json +1 -1
  39. data/tracks/haskell/docs/EXERCISE_README_INSERT.md +1 -1
  40. data/tracks/idris/README.md +1 -1
  41. data/tracks/idris/config.json +1 -1
  42. data/tracks/java/POLICIES.md +7 -7
  43. data/tracks/java/README.md +7 -7
  44. data/tracks/java/bin/journey-test.sh +1 -1
  45. data/tracks/java/config.json +1 -1
  46. data/tracks/java/docs/MAINTAINING.md +3 -20
  47. data/tracks/java/docs/TESTS.md +3 -3
  48. data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +23 -20
  49. data/tracks/java/exercises/hello-world/GETTING_STARTED.md +1 -1
  50. data/tracks/java/exercises/hello-world/TUTORIAL.md +2 -2
  51. data/tracks/javascript/config.json +1 -1
  52. data/tracks/julia/.travis.yml +0 -2
  53. data/tracks/julia/config.json +9 -0
  54. data/tracks/julia/exercises/custom-set/example.jl +1 -1
  55. data/tracks/julia/exercises/luhn/example.jl +1 -1
  56. data/tracks/julia/exercises/robot-name/HINTS.md +17 -0
  57. data/tracks/julia/exercises/robot-name/example.jl +14 -0
  58. data/tracks/julia/exercises/robot-name/robot-name.jl +8 -0
  59. data/tracks/julia/exercises/robot-name/runtests.jl +69 -0
  60. data/tracks/kotlin/README.md +7 -7
  61. data/tracks/kotlin/config.json +1 -1
  62. data/tracks/kotlin/docs/TESTS.md +3 -3
  63. data/tracks/kotlin/exercises/hello-world/GETTING_STARTED.md +1 -1
  64. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +1 -1
  65. data/tracks/lfe/README.md +2 -2
  66. data/tracks/lfe/config.json +1 -1
  67. data/tracks/lisp/README.md +1 -1
  68. data/tracks/lisp/config.json +2 -2
  69. data/tracks/lua/README.md +9 -9
  70. data/tracks/lua/config.json +1 -1
  71. data/tracks/lua/exercises/hamming/hamming_spec.lua +15 -7
  72. data/tracks/lua/exercises/raindrops/raindrops_spec.lua +46 -14
  73. data/tracks/mips/config.json +1 -1
  74. data/tracks/objective-c/Dangerfile +1 -1
  75. data/tracks/objective-c/README.md +1 -1
  76. data/tracks/objective-c/config.json +1 -1
  77. data/tracks/ocaml/README.md +2 -2
  78. data/tracks/ocaml/config.json +1 -1
  79. data/tracks/ocaml/docs/EXERCISE_README_INSERT.md +1 -1
  80. data/tracks/ocaml/tools/test-generator/README.md +2 -2
  81. data/tracks/perl5/README.md +1 -1
  82. data/tracks/perl5/config.json +1 -1
  83. data/tracks/perl6/README.md +2 -2
  84. data/tracks/perl6/config.json +1 -1
  85. data/tracks/perl6/exercises/all-your-base/all-your-base.t +43 -32
  86. data/tracks/perl6/exercises/all-your-base/example.yaml +19 -9
  87. data/tracks/php/config.json +1 -1
  88. data/tracks/pony/README.md +2 -2
  89. data/tracks/pony/config.json +1 -1
  90. data/tracks/powershell/README.md +1 -1
  91. data/tracks/powershell/config.json +1 -1
  92. data/tracks/purescript/README.md +5 -5
  93. data/tracks/purescript/config.json +1 -1
  94. data/tracks/r/README.md +3 -3
  95. data/tracks/r/config.json +1 -1
  96. data/tracks/racket/README.md +2 -2
  97. data/tracks/racket/config.json +1 -1
  98. data/tracks/ruby/README.md +9 -9
  99. data/tracks/ruby/config.json +1 -1
  100. data/tracks/rust/config.json +1 -1
  101. data/tracks/rust/exercises/gigasecond/src/lib.rs +7 -0
  102. data/tracks/rust/exercises/protein-translation/example.rs +11 -22
  103. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +56 -36
  104. data/tracks/scala/config.json +1 -1
  105. data/tracks/scala/exercises/all-your-base/src/test/scala/AllYourBaseTest.scala +46 -64
  106. data/tracks/scala/exercises/rna-transcription/example.scala +1 -3
  107. data/tracks/scala/exercises/rna-transcription/src/test/scala/RnaTranscriptionTest.scala +19 -23
  108. data/tracks/scala/exercises/scrabble-score/example.scala +2 -2
  109. data/tracks/scala/exercises/scrabble-score/src/test/scala/ScrabbleScoreTest.scala +37 -16
  110. data/tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala +32 -42
  111. data/tracks/scala/testgen/src/main/scala/RnaTranscriptionTestGenerator.scala +34 -0
  112. data/tracks/scala/testgen/src/main/scala/ScrabbleScoreTestGenerator.scala +15 -0
  113. data/tracks/sml/README.md +1 -3
  114. data/tracks/sml/config.json +1 -1
  115. data/tracks/sml/docs/EXERCISE_README_INSERT.md +1 -1
  116. data/tracks/swift/config.json +1 -1
  117. data/tracks/typescript/README.md +1 -1
  118. data/tracks/typescript/config.json +1 -1
  119. data/tracks/vimscript/README.md +5 -5
  120. data/tracks/vimscript/config.json +8 -1
  121. data/tracks/vimscript/exercises/largest-series-product/example.vim +31 -0
  122. data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vader +95 -0
  123. data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vim +17 -0
  124. 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.41
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-18 00:00:00.000000000 Z
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