trackler 2.1.0.36 → 2.1.0.37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/common/CONTRIBUTING.md +1 -1
- data/lib/trackler/version.rb +1 -1
- data/lib/trackler.rb +0 -5
- data/tracks/c/config.json +0 -5
- data/tracks/clojure/config.json +177 -59
- data/tracks/clojure/exercises/kindergarten-garden/src/example.clj +10 -8
- data/tracks/elisp/config.json +60 -24
- data/tracks/elixir/exercises/poker/poker_test.exs +1 -1
- data/tracks/fortran/config.json +6 -0
- data/tracks/fortran/exercises/pangram/example.f90 +33 -0
- data/tracks/fortran/exercises/pangram/pangram.fun +42 -0
- data/tracks/go/config.json +10 -4
- data/tracks/go/exercises/acronym/acronym.go +1 -1
- data/tracks/groovy/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/haskell/config.json +1 -1
- data/tracks/java/bin/journey-test.sh +3 -0
- data/tracks/java/config.json +14 -14
- data/tracks/java/exercises/binary-search/src/test/java/BinarySearchTest.java +20 -20
- data/tracks/java/exercises/binary-search-tree/src/test/java/BSTTest.java +32 -32
- data/tracks/java/exercises/build.gradle +57 -31
- data/tracks/java/exercises/hello-world/GETTING_STARTED.md +4 -0
- data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +8 -8
- data/tracks/java/exercises/scrabble-score/src/example/java/Scrabble.java +1 -1
- data/tracks/java/exercises/scrabble-score/src/test/java/ScrabbleScoreTest.java +10 -5
- data/tracks/java/exercises/series/src/test/java/SeriesTest.java +20 -20
- data/tracks/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/tracks/java/gradle/wrapper/gradle-wrapper.properties +2 -2
- data/tracks/julia/runtests.jl +1 -6
- data/tracks/kotlin/.gitignore +0 -5
- data/tracks/kotlin/.travis.yml +21 -1
- data/tracks/kotlin/bin/build-jq.sh +11 -0
- data/tracks/kotlin/bin/fetch-configlet +1 -1
- data/tracks/kotlin/bin/journey-test.sh +34 -14
- data/tracks/kotlin/bin/unit-tests.sh +2 -2
- data/tracks/kotlin/config.json +230 -160
- data/tracks/kotlin/exercises/build.gradle +3 -0
- data/tracks/kotlin/exercises/collatz-conjecture/src/test/kotlin/CollatzCalculatorTest.kt +7 -1
- data/tracks/kotlin/exercises/gradle.properties +1 -0
- data/tracks/kotlin/exercises/list-ops/HINTS.md +5 -0
- data/tracks/kotlin/exercises/list-ops/build.gradle +28 -0
- data/tracks/kotlin/exercises/list-ops/src/example/kotlin/CustomListExtensions.kt +43 -0
- data/tracks/kotlin/exercises/list-ops/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/list-ops/src/test/kotlin/ListExtensionsTest.kt +157 -0
- data/tracks/kotlin/exercises/settings.gradle +13 -12
- data/tracks/kotlin/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/tracks/kotlin/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/tracks/kotlin/gradlew +172 -0
- data/tracks/kotlin/gradlew.bat +84 -0
- data/tracks/lfe/config.json +90 -30
- data/tracks/ocaml/.travis-ci.sh +1 -1
- data/tracks/ocaml/.travis.yml +1 -1
- data/tracks/ocaml/README.md +1 -1
- data/tracks/perl5/.travis.yml +3 -2
- data/tracks/perl6/bin/exercise-gen.pl6 +6 -3
- data/tracks/racket/config.json +63 -21
- data/tracks/ruby/exercises/bob/bob_test.rb +0 -1
- data/tracks/ruby/lib/generator/command_line.rb +7 -3
- data/tracks/ruby/lib/generator/exercise.rb +19 -0
- data/tracks/ruby/lib/generator/files/generator_cases.rb +0 -4
- data/tracks/ruby/lib/generator/files/metadata_files.rb +1 -1
- data/tracks/ruby/lib/generator/files/track_files.rb +3 -3
- data/tracks/ruby/lib/generator/implementation.rb +7 -11
- data/tracks/ruby/lib/generator/template_values.rb +5 -9
- data/tracks/ruby/lib/generator/underscore.rb +4 -0
- data/tracks/ruby/lib/generator.rb +2 -2
- data/tracks/ruby/test/fixtures/xruby/lib/generator/test_template.erb +3 -3
- data/tracks/ruby/test/generator/exercise_test.rb +20 -0
- data/tracks/ruby/test/generator/files/generate_cases_test.rb +0 -4
- data/tracks/ruby/test/generator/files/metadata_files_test.rb +2 -2
- data/tracks/ruby/test/generator/files/track_files_test.rb +4 -5
- data/tracks/ruby/test/generator/implementation_test.rb +12 -20
- data/tracks/ruby/test/generator/template_values_test.rb +2 -33
- data/tracks/ruby/test/generator/underscore_test.rb +4 -0
- data/tracks/ruby/test/generator_test.rb +2 -2
- data/tracks/rust/exercises/gigasecond/Cargo.lock +58 -13
- data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
- data/tracks/scala/exercises/acronym/src/test/scala/AcronymTest.scala +32 -12
- data/tracks/scala/exercises/hamming/example.scala +1 -1
- data/tracks/scala/exercises/hamming/src/test/scala/HammingTest.scala +55 -19
- data/tracks/scala/exercises/phone-number/example.scala +10 -20
- data/tracks/scala/exercises/phone-number/src/test/scala/PhoneNumberTest.scala +28 -81
- data/tracks/scala/testgen/src/main/scala/AcronymTestGenerator.scala +16 -0
- data/tracks/scala/testgen/src/main/scala/HammingTestGenerator.scala +34 -0
- data/tracks/scala/testgen/src/main/scala/PhoneNumberTestGenerator.scala +34 -0
- data/tracks/scheme/config.json +43 -16
- metadata +21 -5
- data/lib/trackler/problem.rb +0 -7
- data/lib/trackler/problems.rb +0 -7
@@ -1,117 +1,64 @@
|
|
1
|
-
import org.scalatest.
|
1
|
+
import org.scalatest.{Matchers, FunSuite}
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
/** @version 1.2.0 */
|
4
|
+
class PhoneNumberTest extends FunSuite with Matchers {
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
number should be (Some("1234567890"))
|
6
|
+
test("cleans the number") {
|
7
|
+
PhoneNumber.clean("(223) 456-7890") should be (Some("2234567890"))
|
9
8
|
}
|
10
9
|
|
11
|
-
|
10
|
+
test("cleans numbers with dots") {
|
12
11
|
pending
|
13
|
-
|
14
|
-
number should be (Some("1234567890"))
|
12
|
+
PhoneNumber.clean("223.456.7890") should be (Some("2234567890"))
|
15
13
|
}
|
16
14
|
|
17
|
-
|
15
|
+
test("cleans numbers with multiple spaces") {
|
18
16
|
pending
|
19
|
-
|
20
|
-
number should be (Some("1234567890"))
|
17
|
+
PhoneNumber.clean("223 456 7890 ") should be (Some("2234567890"))
|
21
18
|
}
|
22
19
|
|
23
|
-
|
20
|
+
test("invalid when 9 digits") {
|
24
21
|
pending
|
25
|
-
|
26
|
-
number should be (None)
|
22
|
+
PhoneNumber.clean("123456789") should be (None)
|
27
23
|
}
|
28
24
|
|
29
|
-
|
25
|
+
test("invalid when 11 digits does not start with a 1") {
|
30
26
|
pending
|
31
|
-
|
32
|
-
number should be (None)
|
27
|
+
PhoneNumber.clean("22234567890") should be (None)
|
33
28
|
}
|
34
29
|
|
35
|
-
|
30
|
+
test("valid when 11 digits and starting with 1") {
|
36
31
|
pending
|
37
|
-
|
38
|
-
number should be (None)
|
32
|
+
PhoneNumber.clean("12234567890") should be (Some("2234567890"))
|
39
33
|
}
|
40
34
|
|
41
|
-
|
35
|
+
test("valid when 11 digits and starting with 1 even with punctuation") {
|
42
36
|
pending
|
43
|
-
|
44
|
-
number should be (None)
|
37
|
+
PhoneNumber.clean("+1 (223) 456-7890") should be (Some("2234567890"))
|
45
38
|
}
|
46
39
|
|
47
|
-
|
40
|
+
test("invalid when more than 11 digits") {
|
48
41
|
pending
|
49
|
-
|
50
|
-
number should be (Some("2358132134"))
|
42
|
+
PhoneNumber.clean("321234567890") should be (None)
|
51
43
|
}
|
52
44
|
|
53
|
-
|
45
|
+
test("invalid with letters") {
|
54
46
|
pending
|
55
|
-
|
56
|
-
number should be (Some("9876543210"))
|
47
|
+
PhoneNumber.clean("123-abc-7890") should be (None)
|
57
48
|
}
|
58
49
|
|
59
|
-
|
50
|
+
test("invalid with punctuations") {
|
60
51
|
pending
|
61
|
-
|
62
|
-
number should be (Some("4158880000"))
|
52
|
+
PhoneNumber.clean("123-@:!-7890") should be (None)
|
63
53
|
}
|
64
54
|
|
65
|
-
|
66
|
-
|
67
|
-
it should "give the area code" in {
|
68
|
-
pending
|
69
|
-
val number = new PhoneNumber("1234567890")
|
70
|
-
number.areaCode should be(Some("123"))
|
71
|
-
}
|
72
|
-
|
73
|
-
it should "give the area code with parentheses" in {
|
55
|
+
test("invalid if area code does not start with 2-9") {
|
74
56
|
pending
|
75
|
-
|
76
|
-
number.areaCode should be(Some("612"))
|
57
|
+
PhoneNumber.clean("(123) 456-7890") should be (None)
|
77
58
|
}
|
78
59
|
|
79
|
-
|
80
|
-
pending
|
81
|
-
val number = new PhoneNumber("my number is 235 813 2134")
|
82
|
-
number.areaCode should be(Some("235"))
|
83
|
-
}
|
84
|
-
|
85
|
-
it should "be invalid when no digits present" in {
|
86
|
-
pending
|
87
|
-
val number = new PhoneNumber(" (-) ")
|
88
|
-
number.areaCode should be (None)
|
89
|
-
}
|
90
|
-
|
91
|
-
behavior of "prettyPrint"
|
92
|
-
|
93
|
-
it should "format the number" in {
|
60
|
+
test("invalid if exchange code does not start with 2-9") {
|
94
61
|
pending
|
95
|
-
|
96
|
-
number.prettyPrint should be (Some("(123) 456-7890"))
|
62
|
+
PhoneNumber.clean("(223) 056-7890") should be (None)
|
97
63
|
}
|
98
|
-
|
99
|
-
it should "format full US phone numbers" in {
|
100
|
-
pending
|
101
|
-
val number = new PhoneNumber("11234567890")
|
102
|
-
number.prettyPrint should be (Some("(123) 456-7890"))
|
103
|
-
}
|
104
|
-
|
105
|
-
it should "format the number amidst text and punctuation" in {
|
106
|
-
pending
|
107
|
-
val number = new PhoneNumber("Here it is: 415-888-0000. Thanks!")
|
108
|
-
number.prettyPrint should be (Some("(415) 888-0000"))
|
109
|
-
}
|
110
|
-
|
111
|
-
it should "be invalid for invalid numbers" in {
|
112
|
-
pending
|
113
|
-
val number = new PhoneNumber("I am invalid!")
|
114
|
-
number.prettyPrint should be (None)
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
64
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import testgen._
|
2
|
+
import TestSuiteBuilder._
|
3
|
+
import java.io.File
|
4
|
+
|
5
|
+
object AcronymTestGenerator {
|
6
|
+
def main(args: Array[String]): Unit = {
|
7
|
+
val file = new File("src/main/resources/acronym.json")
|
8
|
+
|
9
|
+
val code = TestSuiteBuilder.build(file, fromLabeledTest("phrase"))
|
10
|
+
println(s"-------------")
|
11
|
+
println(code)
|
12
|
+
println(s"-------------")
|
13
|
+
|
14
|
+
TestSuiteBuilder.writeToFile(code, new File("AcronymTest.scala"))
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import java.io.File
|
2
|
+
|
3
|
+
import testgen.TestSuiteBuilder.{toString, _}
|
4
|
+
import testgen._
|
5
|
+
|
6
|
+
object HammingTestGenerator {
|
7
|
+
def main(args: Array[String]): Unit = {
|
8
|
+
val file = new File("src/main/resources/hamming.json")
|
9
|
+
|
10
|
+
def toString(expected: CanonicalDataParser.Expected): String = {
|
11
|
+
expected match {
|
12
|
+
case Left(_) => "None"
|
13
|
+
case Right(-1) => "None"
|
14
|
+
case Right(n) => s"Some($n)"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
def fromLabeledTest(argNames: String*): ToTestCaseData =
|
19
|
+
withLabeledTest { sut =>
|
20
|
+
labeledTest =>
|
21
|
+
val args = sutArgs(labeledTest.result, argNames: _*)
|
22
|
+
val property = labeledTest.property
|
23
|
+
val sutCall =
|
24
|
+
s"""Hamming.$property($args)"""
|
25
|
+
val expected = toString(labeledTest.expected)
|
26
|
+
TestCaseData(labeledTest.description, sutCall, expected)
|
27
|
+
}
|
28
|
+
|
29
|
+
val code = TestSuiteBuilder.build(file, fromLabeledTest("strand1", "strand2"))
|
30
|
+
println(s"-------------")
|
31
|
+
println(code)
|
32
|
+
println(s"-------------")
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import java.io.File
|
2
|
+
|
3
|
+
import testgen.TestSuiteBuilder._
|
4
|
+
import testgen._
|
5
|
+
|
6
|
+
object PhoneNumberTestGenerator {
|
7
|
+
def fromLabeledTest(argNames: String*): ToTestCaseData =
|
8
|
+
withLabeledTest { sut =>
|
9
|
+
labeledTest =>
|
10
|
+
val args = sutArgs(labeledTest.result, argNames: _*)
|
11
|
+
val property = labeledTest.property
|
12
|
+
val sutCall =
|
13
|
+
s"""PhoneNumber.$property($args)"""
|
14
|
+
val expected = toString(labeledTest.expected)
|
15
|
+
TestCaseData(labeledTest.description, sutCall, expected)
|
16
|
+
}
|
17
|
+
|
18
|
+
def toString(expected: CanonicalDataParser.Expected): String = {
|
19
|
+
expected match {
|
20
|
+
case Left(_) => "None"
|
21
|
+
case Right(null) => "None"
|
22
|
+
case Right(str) => s"""Some("$str")"""
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
def main(args: Array[String]): Unit = {
|
27
|
+
val file = new File("src/main/resources/phone-number.json")
|
28
|
+
|
29
|
+
val code = TestSuiteBuilder.build(file, fromLabeledTest("phrase"))
|
30
|
+
println(s"-------------")
|
31
|
+
println(code)
|
32
|
+
println(s"-------------")
|
33
|
+
}
|
34
|
+
}
|
data/tracks/scheme/config.json
CHANGED
@@ -3,78 +3,105 @@
|
|
3
3
|
"language": "Scheme",
|
4
4
|
"repository": "https://github.com/exercism/xscheme",
|
5
5
|
"active": true,
|
6
|
-
"exercises"
|
6
|
+
"exercises": [
|
7
7
|
{
|
8
8
|
"slug": "hello-world",
|
9
9
|
"difficulty": 1,
|
10
|
-
"topics": [
|
10
|
+
"topics": [
|
11
|
+
|
12
|
+
]
|
11
13
|
},
|
12
14
|
{
|
13
15
|
"slug": "hamming",
|
14
16
|
"difficulty": 1,
|
15
|
-
"topics": [
|
17
|
+
"topics": [
|
18
|
+
|
19
|
+
]
|
16
20
|
},
|
17
21
|
{
|
18
22
|
"slug": "leap",
|
19
23
|
"difficulty": 1,
|
20
|
-
"topics": [
|
24
|
+
"topics": [
|
25
|
+
|
26
|
+
]
|
21
27
|
},
|
22
28
|
{
|
23
29
|
"slug": "grains",
|
24
30
|
"difficulty": 1,
|
25
|
-
"topics": [
|
31
|
+
"topics": [
|
32
|
+
|
33
|
+
]
|
26
34
|
},
|
27
35
|
{
|
28
36
|
"slug": "bob",
|
29
37
|
"difficulty": 1,
|
30
|
-
"topics": [
|
38
|
+
"topics": [
|
39
|
+
|
40
|
+
]
|
31
41
|
},
|
32
42
|
{
|
33
43
|
"slug": "raindrops",
|
34
44
|
"difficulty": 1,
|
35
|
-
"topics": [
|
45
|
+
"topics": [
|
46
|
+
|
47
|
+
]
|
36
48
|
},
|
37
49
|
{
|
38
50
|
"slug": "rna-transcription",
|
39
51
|
"difficulty": 1,
|
40
|
-
"topics": [
|
52
|
+
"topics": [
|
53
|
+
|
54
|
+
]
|
41
55
|
},
|
42
56
|
{
|
43
57
|
"slug": "robot-name",
|
44
58
|
"difficulty": 1,
|
45
|
-
"topics": [
|
59
|
+
"topics": [
|
60
|
+
|
61
|
+
]
|
46
62
|
},
|
47
63
|
{
|
48
64
|
"slug": "phone-number",
|
49
65
|
"difficulty": 1,
|
50
|
-
"topics": [
|
66
|
+
"topics": [
|
67
|
+
|
68
|
+
]
|
51
69
|
},
|
52
70
|
{
|
53
71
|
"slug": "anagram",
|
54
72
|
"difficulty": 1,
|
55
|
-
"topics": [
|
73
|
+
"topics": [
|
74
|
+
|
75
|
+
]
|
56
76
|
},
|
57
77
|
{
|
58
78
|
"slug": "nucleotide-count",
|
59
79
|
"difficulty": 1,
|
60
|
-
"topics": [
|
80
|
+
"topics": [
|
81
|
+
|
82
|
+
]
|
61
83
|
},
|
62
84
|
{
|
63
85
|
"slug": "difference-of-squares",
|
64
86
|
"difficulty": 1,
|
65
|
-
"topics": [
|
87
|
+
"topics": [
|
88
|
+
|
89
|
+
]
|
66
90
|
},
|
67
91
|
{
|
68
92
|
"slug": "list-ops",
|
69
93
|
"difficulty": 1,
|
70
|
-
"topics": [
|
94
|
+
"topics": [
|
95
|
+
|
96
|
+
]
|
71
97
|
},
|
72
98
|
{
|
73
99
|
"slug": "scrabble-score",
|
74
100
|
"difficulty": 1,
|
75
|
-
"topics": [
|
76
|
-
}
|
101
|
+
"topics": [
|
77
102
|
|
103
|
+
]
|
104
|
+
}
|
78
105
|
],
|
79
106
|
"deprecated": [
|
80
107
|
|
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.37
|
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-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -538,8 +538,6 @@ files:
|
|
538
538
|
- lib/trackler/metadata.rb
|
539
539
|
- lib/trackler/null_track.rb
|
540
540
|
- lib/trackler/path.rb
|
541
|
-
- lib/trackler/problem.rb
|
542
|
-
- lib/trackler/problems.rb
|
543
541
|
- lib/trackler/specification.rb
|
544
542
|
- lib/trackler/specifications.rb
|
545
543
|
- lib/trackler/track.rb
|
@@ -3194,6 +3192,8 @@ files:
|
|
3194
3192
|
- tracks/fortran/exercises/hamming/hamming.fun
|
3195
3193
|
- tracks/fortran/exercises/hello-world/example.f90
|
3196
3194
|
- tracks/fortran/exercises/hello-world/hello_world.fun
|
3195
|
+
- tracks/fortran/exercises/pangram/example.f90
|
3196
|
+
- tracks/fortran/exercises/pangram/pangram.fun
|
3197
3197
|
- tracks/fortran/exercises/raindrops/example.f90
|
3198
3198
|
- tracks/fortran/exercises/raindrops/raindrops.fun
|
3199
3199
|
- tracks/fortran/exercises/rna-transcription/example.f90
|
@@ -3757,10 +3757,10 @@ files:
|
|
3757
3757
|
- tracks/groovy/.travis.yml
|
3758
3758
|
- tracks/groovy/LICENSE
|
3759
3759
|
- tracks/groovy/README.md
|
3760
|
-
- tracks/groovy/SETUP.md
|
3761
3760
|
- tracks/groovy/bin/fetch-configlet
|
3762
3761
|
- tracks/groovy/config.json
|
3763
3762
|
- tracks/groovy/docs/ABOUT.md
|
3763
|
+
- tracks/groovy/docs/EXERCISE_README_INSERT.md
|
3764
3764
|
- tracks/groovy/docs/INSTALLATION.md
|
3765
3765
|
- tracks/groovy/docs/LEARNING.md
|
3766
3766
|
- tracks/groovy/docs/RESOURCES.md
|
@@ -5052,6 +5052,7 @@ files:
|
|
5052
5052
|
- tracks/kotlin/_template/src/example/kotlin/.keep
|
5053
5053
|
- tracks/kotlin/_template/src/main/kotlin/.keep
|
5054
5054
|
- tracks/kotlin/_template/src/test/kotlin/.keep
|
5055
|
+
- tracks/kotlin/bin/build-jq.sh
|
5055
5056
|
- tracks/kotlin/bin/fetch-configlet
|
5056
5057
|
- tracks/kotlin/bin/journey-test.sh
|
5057
5058
|
- tracks/kotlin/bin/unit-tests.sh
|
@@ -5153,6 +5154,7 @@ files:
|
|
5153
5154
|
- tracks/kotlin/exercises/grade-school/src/example/kotlin/School.kt
|
5154
5155
|
- tracks/kotlin/exercises/grade-school/src/main/kotlin/.keep
|
5155
5156
|
- tracks/kotlin/exercises/grade-school/src/test/kotlin/SchoolTest.kt
|
5157
|
+
- tracks/kotlin/exercises/gradle.properties
|
5156
5158
|
- tracks/kotlin/exercises/hamming/build.gradle
|
5157
5159
|
- tracks/kotlin/exercises/hamming/src/example/kotlin/Hamming.kt
|
5158
5160
|
- tracks/kotlin/exercises/hamming/src/main/kotlin/.keep
|
@@ -5184,6 +5186,11 @@ files:
|
|
5184
5186
|
- tracks/kotlin/exercises/linked-list/src/example/kotlin/Deque.kt
|
5185
5187
|
- tracks/kotlin/exercises/linked-list/src/main/kotlin/.keep
|
5186
5188
|
- tracks/kotlin/exercises/linked-list/src/test/kotlin/DequeTest.kt
|
5189
|
+
- tracks/kotlin/exercises/list-ops/HINTS.md
|
5190
|
+
- tracks/kotlin/exercises/list-ops/build.gradle
|
5191
|
+
- tracks/kotlin/exercises/list-ops/src/example/kotlin/CustomListExtensions.kt
|
5192
|
+
- tracks/kotlin/exercises/list-ops/src/main/kotlin/.keep
|
5193
|
+
- tracks/kotlin/exercises/list-ops/src/test/kotlin/ListExtensionsTest.kt
|
5187
5194
|
- tracks/kotlin/exercises/luhn/build.gradle
|
5188
5195
|
- tracks/kotlin/exercises/luhn/src/example/kotlin/Luhn.kt
|
5189
5196
|
- tracks/kotlin/exercises/luhn/src/main/kotlin/.keep
|
@@ -5276,6 +5283,10 @@ files:
|
|
5276
5283
|
- tracks/kotlin/exercises/word-count/src/example/kotlin/WordCount.kt
|
5277
5284
|
- tracks/kotlin/exercises/word-count/src/main/kotlin/.keep
|
5278
5285
|
- tracks/kotlin/exercises/word-count/src/test/kotlin/WordCountTest.kt
|
5286
|
+
- tracks/kotlin/gradle/wrapper/gradle-wrapper.jar
|
5287
|
+
- tracks/kotlin/gradle/wrapper/gradle-wrapper.properties
|
5288
|
+
- tracks/kotlin/gradlew
|
5289
|
+
- tracks/kotlin/gradlew.bat
|
5279
5290
|
- tracks/kotlin/img/icon.png
|
5280
5291
|
- tracks/lfe/.git
|
5281
5292
|
- tracks/lfe/.gitignore
|
@@ -7719,6 +7730,7 @@ files:
|
|
7719
7730
|
- tracks/ruby/lib/generator/case_values.rb
|
7720
7731
|
- tracks/ruby/lib/generator/command_line.rb
|
7721
7732
|
- tracks/ruby/lib/generator/command_line/generator_optparser.rb
|
7733
|
+
- tracks/ruby/lib/generator/exercise.rb
|
7722
7734
|
- tracks/ruby/lib/generator/exercise_case.rb
|
7723
7735
|
- tracks/ruby/lib/generator/exercise_case/assertion.rb
|
7724
7736
|
- tracks/ruby/lib/generator/exercise_case/case_helpers.rb
|
@@ -7751,6 +7763,7 @@ files:
|
|
7751
7763
|
- tracks/ruby/test/generator/exercise_case/assertion_test.rb
|
7752
7764
|
- tracks/ruby/test/generator/exercise_case/case_helpers_test.rb
|
7753
7765
|
- tracks/ruby/test/generator/exercise_case_test.rb
|
7766
|
+
- tracks/ruby/test/generator/exercise_test.rb
|
7754
7767
|
- tracks/ruby/test/generator/files/generate_cases_test.rb
|
7755
7768
|
- tracks/ruby/test/generator/files/metadata_files_test.rb
|
7756
7769
|
- tracks/ruby/test/generator/files/track_files_test.rb
|
@@ -8501,6 +8514,7 @@ files:
|
|
8501
8514
|
- tracks/scala/testgen/build.sbt
|
8502
8515
|
- tracks/scala/testgen/project/build.properties
|
8503
8516
|
- tracks/scala/testgen/project/plugins.sbt
|
8517
|
+
- tracks/scala/testgen/src/main/scala/AcronymTestGenerator.scala
|
8504
8518
|
- tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala
|
8505
8519
|
- tracks/scala/testgen/src/main/scala/BeerSongTestGenerator.scala
|
8506
8520
|
- tracks/scala/testgen/src/main/scala/BinarySearchTestGenerator.scala
|
@@ -8511,12 +8525,14 @@ files:
|
|
8511
8525
|
- tracks/scala/testgen/src/main/scala/CustomSetTestGenerator.scala
|
8512
8526
|
- tracks/scala/testgen/src/main/scala/DifferenceOfSquaresTestGenerator.scala
|
8513
8527
|
- tracks/scala/testgen/src/main/scala/FoodChainTestGenerator.scala
|
8528
|
+
- tracks/scala/testgen/src/main/scala/HammingTestGenerator.scala
|
8514
8529
|
- tracks/scala/testgen/src/main/scala/HelloWorldTestGenerator.scala
|
8515
8530
|
- tracks/scala/testgen/src/main/scala/IsogramTestGenerator.scala
|
8516
8531
|
- tracks/scala/testgen/src/main/scala/LeapTestGenerator.scala
|
8517
8532
|
- tracks/scala/testgen/src/main/scala/NucleotideCountTestGenerator.scala
|
8518
8533
|
- tracks/scala/testgen/src/main/scala/PangramsTestGenerator.scala
|
8519
8534
|
- tracks/scala/testgen/src/main/scala/PerfectNumbersTestGenerator.scala
|
8535
|
+
- tracks/scala/testgen/src/main/scala/PhoneNumberTestGenerator.scala
|
8520
8536
|
- tracks/scala/testgen/src/main/scala/RailFenceCipherTestGenerator.scala
|
8521
8537
|
- tracks/scala/testgen/src/main/scala/RaindropsTestGenerator.scala
|
8522
8538
|
- tracks/scala/testgen/src/main/scala/SumOfMultiplesTestGenerator.scala
|
data/lib/trackler/problem.rb
DELETED