trackler 2.0.6.0 → 2.0.6.1
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/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
|