trackler 2.0.6.0 → 2.0.6.1
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/lib/trackler/version.rb +1 -1
- data/tracks/csharp/.gitignore +3 -1
- data/tracks/csharp/README.md +1 -1
- data/tracks/csharp/build.fsx +6 -0
- data/tracks/csharp/circle.yml +16 -0
- data/tracks/csharp/paket.dependencies +2 -1
- data/tracks/csharp/paket.lock +3 -0
- data/tracks/ecmascript/exercises/phone-number/example.js +15 -28
- data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +28 -13
- data/tracks/fsharp/.gitignore +3 -1
- data/tracks/fsharp/README.md +1 -1
- data/tracks/fsharp/build.fsx +7 -1
- data/tracks/fsharp/circle.yml +16 -0
- data/tracks/fsharp/paket.dependencies +2 -1
- data/tracks/fsharp/paket.lock +3 -0
- data/tracks/ocaml/tools/test-generator/src/controller.ml +5 -5
- data/tracks/ocaml/tools/test-generator/src/model.ml +2 -0
- data/tracks/ocaml/tools/test-generator/src/parser.ml +35 -31
- data/tracks/ocaml/tools/test-generator/src/special_cases.ml +27 -23
- data/tracks/ocaml/tools/test-generator/src/utils.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/dominoes/template.ml +40 -0
- data/tracks/ocaml/tools/test-generator/test/parser_test.ml +27 -21
- data/tracks/pony/config.json +5 -0
- data/tracks/pony/docs/ABOUT.md +12 -0
- data/tracks/pony/docs/INSTALLATION.md +4 -6
- data/tracks/pony/docs/LEARNING.md +7 -0
- data/tracks/pony/docs/RESOURCES.md +7 -0
- data/tracks/pony/docs/TESTS.md +11 -0
- data/tracks/pony/exercises/hamming/test.pony +2 -2
- data/tracks/pony/exercises/rna-transcription/example.pony +13 -0
- data/tracks/pony/exercises/rna-transcription/test.pony +32 -0
- data/tracks/r/exercises/anagram/example.R +18 -2
- data/tracks/r/exercises/bob/example.R +16 -1
- data/tracks/r/exercises/luhn/example.R +23 -7
- data/tracks/r/exercises/luhn/luhn.R +6 -0
- data/tracks/r/exercises/word-count/example.R +5 -0
- data/tracks/ruby/exercises/series/example.rb +12 -22
- data/tracks/ruby/exercises/series/series_test.rb +19 -12
- data/tracks/ruby/test/test_helper.rb +3 -3
- data/tracks/scala/config.json +7 -0
- data/tracks/scala/exercises/sieve/build.sbt +2 -2
- data/tracks/scala/exercises/simple-cipher/build.sbt +2 -2
- metadata +10 -1
@@ -1,27 +1,17 @@
|
|
1
1
|
class Series
|
2
|
-
def initialize(
|
3
|
-
@
|
2
|
+
def initialize(series)
|
3
|
+
@series = (series)
|
4
4
|
end
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
fail ArgumentError.new('Not enough digits')
|
5
|
+
def slices(n)
|
6
|
+
if n > @series.length
|
7
|
+
raise ArgumentError
|
9
8
|
end
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
result
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
attr_reader :digits
|
23
|
-
|
24
|
-
def convert_to_digits(s)
|
25
|
-
s.chars.to_a.map(&:to_i)
|
9
|
+
series = @series
|
10
|
+
substrings = []
|
11
|
+
until series.length < n
|
12
|
+
substrings << series[0..n-1]
|
13
|
+
series = series[1..-1]
|
14
|
+
end
|
15
|
+
substrings
|
26
16
|
end
|
27
17
|
end
|
@@ -6,75 +6,75 @@ require_relative 'series'
|
|
6
6
|
class SeriesTest < Minitest::Test
|
7
7
|
def test_simple_slices_of_one
|
8
8
|
series = Series.new('01234')
|
9
|
-
assert_equal [
|
9
|
+
assert_equal ['0', '1', '2', '3', '4'], series.slices(1)
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_simple_slices_of_one_again
|
13
13
|
skip
|
14
14
|
series = Series.new('92834')
|
15
|
-
assert_equal [
|
15
|
+
assert_equal ['9', '2', '8', '3', '4'], series.slices(1)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_simple_slices_of_two
|
19
19
|
skip
|
20
20
|
series = Series.new('01234')
|
21
|
-
assert_equal [
|
21
|
+
assert_equal ['01', '12', '23', '34'], series.slices(2)
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_other_slices_of_two
|
25
25
|
skip
|
26
26
|
series = Series.new('98273463')
|
27
|
-
expected = [
|
27
|
+
expected = ['98', '82', '27', '73', '34', '46', '63']
|
28
28
|
assert_equal expected, series.slices(2)
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_simple_slices_of_two_again
|
32
32
|
skip
|
33
33
|
series = Series.new('37103')
|
34
|
-
assert_equal [
|
34
|
+
assert_equal ['37', '71', '10', '03'], series.slices(2)
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_simple_slices_of_three
|
38
38
|
skip
|
39
39
|
series = Series.new('01234')
|
40
|
-
assert_equal [
|
40
|
+
assert_equal ['012', '123', '234'], series.slices(3)
|
41
41
|
end
|
42
42
|
|
43
43
|
def test_simple_slices_of_three_again
|
44
44
|
skip
|
45
45
|
series = Series.new('31001')
|
46
|
-
assert_equal [
|
46
|
+
assert_equal ['310', '100', '001'], series.slices(3)
|
47
47
|
end
|
48
48
|
|
49
49
|
def test_other_slices_of_three
|
50
50
|
skip
|
51
51
|
series = Series.new('982347')
|
52
|
-
expected = [
|
52
|
+
expected = ['982', '823', '234', '347']
|
53
53
|
assert_equal expected, series.slices(3)
|
54
54
|
end
|
55
55
|
|
56
56
|
def test_simple_slices_of_four
|
57
57
|
skip
|
58
58
|
series = Series.new('01234')
|
59
|
-
assert_equal [
|
59
|
+
assert_equal ['0123', '1234'], series.slices(4)
|
60
60
|
end
|
61
61
|
|
62
62
|
def test_simple_slices_of_four_again
|
63
63
|
skip
|
64
64
|
series = Series.new('91274')
|
65
|
-
assert_equal [
|
65
|
+
assert_equal ['9127', '1274'], series.slices(4)
|
66
66
|
end
|
67
67
|
|
68
68
|
def test_simple_slices_of_five
|
69
69
|
skip
|
70
70
|
series = Series.new('01234')
|
71
|
-
assert_equal [
|
71
|
+
assert_equal ['01234'], series.slices(5)
|
72
72
|
end
|
73
73
|
|
74
74
|
def test_simple_slices_of_five_again
|
75
75
|
skip
|
76
76
|
series = Series.new('81228')
|
77
|
-
assert_equal [
|
77
|
+
assert_equal ['81228'], series.slices(5)
|
78
78
|
end
|
79
79
|
|
80
80
|
def test_simple_slice_that_blows_up
|
@@ -94,4 +94,11 @@ class SeriesTest < Minitest::Test
|
|
94
94
|
series.slices(slice_string.length + 1)
|
95
95
|
end
|
96
96
|
end
|
97
|
+
|
98
|
+
def test_sequential_slices
|
99
|
+
skip
|
100
|
+
series = Series.new('1234')
|
101
|
+
assert_equal ['12', '23', '34'], series.slices(2)
|
102
|
+
assert_equal ['123', '234'], series.slices(3)
|
103
|
+
end
|
97
104
|
end
|
@@ -1,8 +1,5 @@
|
|
1
1
|
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
2
2
|
|
3
|
-
require 'minitest/autorun'
|
4
|
-
require 'minitest/pride'
|
5
|
-
|
6
3
|
unless ENV['CI']
|
7
4
|
require 'simplecov'
|
8
5
|
|
@@ -15,5 +12,8 @@ unless ENV['CI']
|
|
15
12
|
end
|
16
13
|
end
|
17
14
|
|
15
|
+
require 'minitest/autorun'
|
16
|
+
require 'minitest/pride'
|
17
|
+
|
18
18
|
# So we can be sure we have coverage on the whole lib directory:
|
19
19
|
Dir.glob('lib/*.rb').each { |file| require file.gsub(%r{(^lib\/|\.rb$)}, '') }
|
data/tracks/scala/config.json
CHANGED
@@ -382,12 +382,19 @@
|
|
382
382
|
"slug": "sieve",
|
383
383
|
"difficulty": 1,
|
384
384
|
"topics": [
|
385
|
+
"Filtering",
|
386
|
+
"Mathematics",
|
387
|
+
"Lists"
|
385
388
|
]
|
386
389
|
},
|
387
390
|
{
|
388
391
|
"slug": "simple-cipher",
|
389
392
|
"difficulty": 1,
|
390
393
|
"topics": [
|
394
|
+
"Optional values",
|
395
|
+
"Strings",
|
396
|
+
"Algorithms",
|
397
|
+
"Transforming"
|
391
398
|
]
|
392
399
|
},
|
393
400
|
{
|
@@ -1,3 +1,3 @@
|
|
1
|
-
scalaVersion := "2.
|
1
|
+
scalaVersion := "2.12.1"
|
2
2
|
|
3
|
-
libraryDependencies += "org.scalatest"
|
3
|
+
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
|
@@ -1,3 +1,3 @@
|
|
1
|
-
scalaVersion := "2.
|
1
|
+
scalaVersion := "2.12.1"
|
2
2
|
|
3
|
-
libraryDependencies += "org.scalatest"
|
3
|
+
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.6.
|
4
|
+
version: 2.0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
@@ -1261,6 +1261,7 @@ files:
|
|
1261
1261
|
- tracks/csharp/build.cmd
|
1262
1262
|
- tracks/csharp/build.fsx
|
1263
1263
|
- tracks/csharp/build.sh
|
1264
|
+
- tracks/csharp/circle.yml
|
1264
1265
|
- tracks/csharp/config.json
|
1265
1266
|
- tracks/csharp/docs/ABOUT.md
|
1266
1267
|
- tracks/csharp/docs/INSTALLATION.md
|
@@ -2396,6 +2397,7 @@ files:
|
|
2396
2397
|
- tracks/fsharp/build.cmd
|
2397
2398
|
- tracks/fsharp/build.fsx
|
2398
2399
|
- tracks/fsharp/build.sh
|
2400
|
+
- tracks/fsharp/circle.yml
|
2399
2401
|
- tracks/fsharp/config.json
|
2400
2402
|
- tracks/fsharp/docs/ABOUT.md
|
2401
2403
|
- tracks/fsharp/docs/INSTALLATION.md
|
@@ -5039,6 +5041,7 @@ files:
|
|
5039
5041
|
- tracks/ocaml/tools/test-generator/templates/bob/template.ml
|
5040
5042
|
- tracks/ocaml/tools/test-generator/templates/bracket-push/template.ml
|
5041
5043
|
- tracks/ocaml/tools/test-generator/templates/difference-of-squares/template.ml
|
5044
|
+
- tracks/ocaml/tools/test-generator/templates/dominoes/template.ml
|
5042
5045
|
- tracks/ocaml/tools/test-generator/templates/hamming/template.ml
|
5043
5046
|
- tracks/ocaml/tools/test-generator/templates/hello-world/template.ml
|
5044
5047
|
- tracks/ocaml/tools/test-generator/templates/leap/template.ml
|
@@ -5475,7 +5478,11 @@ files:
|
|
5475
5478
|
- tracks/pony/SETUP.md
|
5476
5479
|
- tracks/pony/bin/fetch-configlet
|
5477
5480
|
- tracks/pony/config.json
|
5481
|
+
- tracks/pony/docs/ABOUT.md
|
5478
5482
|
- tracks/pony/docs/INSTALLATION.md
|
5483
|
+
- tracks/pony/docs/LEARNING.md
|
5484
|
+
- tracks/pony/docs/RESOURCES.md
|
5485
|
+
- tracks/pony/docs/TESTS.md
|
5479
5486
|
- tracks/pony/exercises/anagram/example.pony
|
5480
5487
|
- tracks/pony/exercises/anagram/test.pony
|
5481
5488
|
- tracks/pony/exercises/bob/example.pony
|
@@ -5488,6 +5495,8 @@ files:
|
|
5488
5495
|
- tracks/pony/exercises/hello-world/test.pony
|
5489
5496
|
- tracks/pony/exercises/leap/example.pony
|
5490
5497
|
- tracks/pony/exercises/leap/test.pony
|
5498
|
+
- tracks/pony/exercises/rna-transcription/example.pony
|
5499
|
+
- tracks/pony/exercises/rna-transcription/test.pony
|
5491
5500
|
- tracks/pony/img/icon.png
|
5492
5501
|
- tracks/powershell/.git
|
5493
5502
|
- tracks/powershell/.gitignore
|