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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/csharp/.gitignore +3 -1
  4. data/tracks/csharp/README.md +1 -1
  5. data/tracks/csharp/build.fsx +6 -0
  6. data/tracks/csharp/circle.yml +16 -0
  7. data/tracks/csharp/paket.dependencies +2 -1
  8. data/tracks/csharp/paket.lock +3 -0
  9. data/tracks/ecmascript/exercises/phone-number/example.js +15 -28
  10. data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +28 -13
  11. data/tracks/fsharp/.gitignore +3 -1
  12. data/tracks/fsharp/README.md +1 -1
  13. data/tracks/fsharp/build.fsx +7 -1
  14. data/tracks/fsharp/circle.yml +16 -0
  15. data/tracks/fsharp/paket.dependencies +2 -1
  16. data/tracks/fsharp/paket.lock +3 -0
  17. data/tracks/ocaml/tools/test-generator/src/controller.ml +5 -5
  18. data/tracks/ocaml/tools/test-generator/src/model.ml +2 -0
  19. data/tracks/ocaml/tools/test-generator/src/parser.ml +35 -31
  20. data/tracks/ocaml/tools/test-generator/src/special_cases.ml +27 -23
  21. data/tracks/ocaml/tools/test-generator/src/utils.ml +2 -2
  22. data/tracks/ocaml/tools/test-generator/templates/dominoes/template.ml +40 -0
  23. data/tracks/ocaml/tools/test-generator/test/parser_test.ml +27 -21
  24. data/tracks/pony/config.json +5 -0
  25. data/tracks/pony/docs/ABOUT.md +12 -0
  26. data/tracks/pony/docs/INSTALLATION.md +4 -6
  27. data/tracks/pony/docs/LEARNING.md +7 -0
  28. data/tracks/pony/docs/RESOURCES.md +7 -0
  29. data/tracks/pony/docs/TESTS.md +11 -0
  30. data/tracks/pony/exercises/hamming/test.pony +2 -2
  31. data/tracks/pony/exercises/rna-transcription/example.pony +13 -0
  32. data/tracks/pony/exercises/rna-transcription/test.pony +32 -0
  33. data/tracks/r/exercises/anagram/example.R +18 -2
  34. data/tracks/r/exercises/bob/example.R +16 -1
  35. data/tracks/r/exercises/luhn/example.R +23 -7
  36. data/tracks/r/exercises/luhn/luhn.R +6 -0
  37. data/tracks/r/exercises/word-count/example.R +5 -0
  38. data/tracks/ruby/exercises/series/example.rb +12 -22
  39. data/tracks/ruby/exercises/series/series_test.rb +19 -12
  40. data/tracks/ruby/test/test_helper.rb +3 -3
  41. data/tracks/scala/config.json +7 -0
  42. data/tracks/scala/exercises/sieve/build.sbt +2 -2
  43. data/tracks/scala/exercises/simple-cipher/build.sbt +2 -2
  44. metadata +10 -1
@@ -17,3 +17,9 @@ checksum <- function() {
17
17
  is_valid <- function() {
18
18
 
19
19
  }
20
+
21
+
22
+ # addends returns the vector of numbers that follow the luhn algorithm
23
+ addends <- function(input) {
24
+
25
+ }
@@ -0,0 +1,5 @@
1
+ word_count <- function(input) {
2
+ input <- gsub("[[:punct:]]","",tolower(input))
3
+ input <- strsplit(input, " ")[[1]]
4
+ as.list(table(input[nchar(input)>0]))
5
+ }
@@ -1,27 +1,17 @@
1
1
  class Series
2
- def initialize(numeric_string)
3
- @digits = convert_to_digits(numeric_string)
2
+ def initialize(series)
3
+ @series = (series)
4
4
  end
5
-
6
- def slices(length)
7
- if length > digits.length
8
- fail ArgumentError.new('Not enough digits')
5
+ def slices(n)
6
+ if n > @series.length
7
+ raise ArgumentError
9
8
  end
10
- result = []
11
- i = -1
12
- begin
13
- i += 1
14
- i2 = i + length - 1
15
- result << digits[i..i2]
16
- end while i2 < digits.size - 1
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 [[0], [1], [2], [3], [4]], series.slices(1)
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 [[9], [2], [8], [3], [4]], series.slices(1)
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 [[0, 1], [1, 2], [2, 3], [3, 4]], series.slices(2)
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 = [[9, 8], [8, 2], [2, 7], [7, 3], [3, 4], [4, 6], [6, 3]]
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 [[3, 7], [7, 1], [1, 0], [0, 3]], series.slices(2)
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 [[0, 1, 2], [1, 2, 3], [2, 3, 4]], series.slices(3)
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 [[3, 1, 0], [1, 0, 0], [0, 0, 1]], series.slices(3)
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 = [[9, 8, 2], [8, 2, 3], [2, 3, 4], [3, 4, 7]]
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 [[0, 1, 2, 3], [1, 2, 3, 4]], series.slices(4)
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 [[9, 1, 2, 7], [1, 2, 7, 4]], series.slices(4)
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 [[0, 1, 2, 3, 4]], series.slices(5)
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 [[8, 1, 2, 2, 8]], series.slices(5)
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$)}, '') }
@@ -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.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
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.0
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