trackler 2.0.3.4 → 2.0.3.5
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/common/exercises/all-your-base/canonical-data.json +21 -21
- data/common/exercises/wordy/description.md +24 -38
- data/common/exercises/wordy/metadata.yml +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/config.json +10 -0
- data/tracks/c/exercises/meetup/makefile +15 -0
- data/tracks/c/exercises/meetup/src/example.c +139 -0
- data/tracks/c/exercises/meetup/src/example.h +7 -0
- data/tracks/c/exercises/meetup/test/test_meetup.c +223 -0
- data/tracks/c/exercises/meetup/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/meetup/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/meetup/test/vendor/unity_internals.h +701 -0
- data/tracks/crystal/config.json +12 -0
- data/tracks/crystal/exercises/pascals-triangle/spec/pascals_triangle_spec.cr +30 -0
- data/tracks/crystal/exercises/pascals-triangle/src/example.cr +19 -0
- data/tracks/crystal/exercises/pascals-triangle/src/pascals_triangle.cr +1 -0
- data/tracks/crystal/exercises/run-length-encoding/spec/run_length_encoding_spec.cr +36 -0
- data/tracks/crystal/exercises/run-length-encoding/src/example.cr +40 -0
- data/tracks/crystal/src/generator/exercises/pascals-triangle.cr +58 -0
- data/tracks/crystal/src/generator/exercises/run_length_encoding.cr +42 -0
- data/tracks/javascript/config.json +8 -1
- data/tracks/javascript/exercises/all-your-base/all-your-base.spec.js +141 -0
- data/tracks/javascript/exercises/all-your-base/example.js +59 -0
- data/tracks/javascript/exercises/word-count/example.js +5 -5
- data/tracks/javascript/exercises/word-count/word-count.spec.js +23 -8
- data/tracks/lua/SETUP.md +60 -7
- data/tracks/lua/config.json +9 -0
- data/tracks/lua/exercises/say/example.lua +4 -4
- data/tracks/lua/exercises/variable-length-quantity/example.lua +36 -0
- data/tracks/lua/exercises/variable-length-quantity/variable-length-quantity_spec.lua +73 -0
- data/tracks/objective-c/.travis.yml +1 -0
- data/tracks/objective-c/config.json +8 -0
- data/tracks/objective-c/docs/TESTS.md +1 -1
- data/tracks/objective-c/exercises/transpose/TransposeExample.h +7 -0
- data/tracks/objective-c/exercises/transpose/TransposeExample.m +59 -0
- data/tracks/objective-c/exercises/transpose/TransposeTest.m +150 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +18 -0
- data/tracks/ocaml/.gitignore +1 -0
- data/tracks/ocaml/tools/test-generator/Makefile +3 -0
- data/tracks/ocaml/tools/test-generator/src/controller.ml +11 -16
- data/tracks/ocaml/tools/test-generator/src/model.ml +4 -0
- data/tracks/ocaml/tools/test-generator/src/parser.ml +8 -1
- data/tracks/ocaml/tools/test-generator/src/special_cases.ml +5 -0
- data/tracks/ocaml/tools/test-generator/templates/all-your-base/template.ml +16 -0
- data/tracks/ocaml/tools/test-generator/test/model_test.ml +2 -0
- data/tracks/ocaml/tools/test-generator/test/parser_test.ml +8 -0
- data/tracks/perl5/docs/RESOURCES.md +57 -0
- data/tracks/perl5/exercises/hamming/Example.pm +7 -0
- data/tracks/perl5/exercises/hamming/hamming.t +17 -4
- data/tracks/perl5/exercises/rna-transcription/rna.t +4 -4
- data/tracks/perl6/.gitignore +2 -0
- data/tracks/perl6/config.json +5 -0
- data/tracks/perl6/exercises/phone-number/Example.pm +30 -0
- data/tracks/perl6/exercises/phone-number/cases.json +47 -0
- data/tracks/perl6/exercises/phone-number/phone.t +48 -0
- data/tracks/purescript/.gitignore +8 -0
- data/tracks/purescript/config.json +8 -3
- data/tracks/purescript/exercises/hello-world/bower.json +17 -0
- data/tracks/purescript/exercises/hello-world/examples/src/HelloWorld.purs +8 -0
- data/tracks/purescript/exercises/hello-world/src/HelloWorld.purs +6 -0
- data/tracks/purescript/exercises/hello-world/test/Main.purs +18 -0
- data/tracks/scala/exercises/leap/HINTS.md +4 -0
- data/tracks/scala/exercises/robot-name/HINTS.md +5 -0
- data/tracks/swift/docs/INSTALLATION.md +4 -1
- data/tracks/swift/exercises/accumulate/AccumulateTest.swift +1 -1
- data/tracks/swift/exercises/binary/BinaryExample.swift +4 -1
- data/tracks/swift/exercises/crypto-square/CryptoSquareExample.swift +3 -2
- data/tracks/swift/exercises/leap/LeapExample.swift +1 -3
- data/tracks/swift/exercises/pascals-triangle/PascalsTriangleTest.swift +1 -1
- data/tracks/swift/exercises/poker/PokerExample.swift +3 -3
- data/tracks/swift/exercises/poker/PokerTest.swift +38 -38
- data/tracks/swift/exercises/saddle-points/SaddlePointsTest.swift +1 -1
- data/tracks/swift/exercises/scrabble-score/ScrabbleScoreExample.swift +6 -3
- data/tracks/swift/exercises/series/SeriesTest.swift +1 -1
- data/tracks/swift/exercises/simple-linked-list/SimpleLinkedListExample.swift +2 -2
- data/tracks/swift/exercises/space-age/SpaceAgeExample.swift +10 -12
- data/tracks/swift/exercises/strain/StrainTest.swift +1 -1
- data/tracks/swift/exercises/tournament/TournamentExample.swift +2 -2
- data/tracks/swift/exercises/triangle/TriangleExample.swift +7 -3
- data/tracks/swift/exercises/wordy/WordyExample.swift +1 -2
- metadata +34 -3
- data/tracks/purescript/exercises/.keep +0 -0
@@ -3,7 +3,7 @@
|
|
3
3
|
#endif
|
4
4
|
|
5
5
|
private extension XCTest {
|
6
|
-
func XCTAssertEqualMultiArray(_ aArray1:
|
6
|
+
func XCTAssertEqualMultiArray(_ aArray1: [[Int]], _ aArray2: [[Int]]) {
|
7
7
|
XCTAssertEqual(Array(aArray1.joined()), Array(aArray2.joined()))
|
8
8
|
}
|
9
9
|
}
|
@@ -22,9 +22,11 @@ private extension String {
|
|
22
22
|
return stripCharacters(" ")
|
23
23
|
}
|
24
24
|
|
25
|
-
var isEmptyOrWhiteSpace: Bool {
|
25
|
+
var isEmptyOrWhiteSpace: Bool {
|
26
26
|
return self.stripWhiteSpace.isEmpty
|
27
|
-
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
28
30
|
struct Scrabble {
|
29
31
|
|
30
32
|
static var letterScores =
|
@@ -32,7 +34,8 @@ struct Scrabble {
|
|
32
34
|
|
33
35
|
static func score(_ input: String) -> Int {
|
34
36
|
if input.isEmptyOrWhiteSpace {
|
35
|
-
return 0
|
37
|
+
return 0
|
38
|
+
}
|
36
39
|
|
37
40
|
var count: Int = 0
|
38
41
|
for each in input.lowercasedCustom().characters {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#endif
|
4
4
|
|
5
5
|
private extension XCTest {
|
6
|
-
func XCTAssertEqualMultiArray(_ aArray1:
|
6
|
+
func XCTAssertEqualMultiArray(_ aArray1: [[Int]], _ aArray2: [[Int]]) {
|
7
7
|
XCTAssertEqual(Array(aArray1.joined()), Array(aArray2.joined()))
|
8
8
|
}
|
9
9
|
}
|
@@ -20,10 +20,10 @@ class Element<T> {
|
|
20
20
|
return toA(self)
|
21
21
|
}
|
22
22
|
|
23
|
-
private var countArray:
|
23
|
+
private var countArray: [T] = []
|
24
24
|
|
25
25
|
@discardableResult
|
26
|
-
private func toA(_ input: Element, _ tempArray:
|
26
|
+
private func toA(_ input: Element, _ tempArray: [T] = []) -> [T] {
|
27
27
|
if tempArray.isEmpty && input.value != nil {
|
28
28
|
countArray.append(input.value!)
|
29
29
|
}
|
@@ -1,21 +1,19 @@
|
|
1
1
|
import Darwin
|
2
2
|
|
3
3
|
struct SpaceAge {
|
4
|
+
var seconds: Float = 0
|
4
5
|
|
5
|
-
var
|
6
|
-
|
7
|
-
var
|
8
|
-
var
|
9
|
-
var
|
10
|
-
var
|
11
|
-
var
|
12
|
-
var
|
13
|
-
|
14
|
-
var onNeptune: Float { get { return round((seconds / 5_200_418_592.0)*100)/100}}
|
6
|
+
var onMercury: Float { return round((seconds / 7_600_530.24) * 100) / 100 }
|
7
|
+
var onVenus: Float { return round((seconds / 19_413_907.2) * 100) / 100 }
|
8
|
+
var onEarth: Float { return round((seconds / 31_558_149.76) * 100) / 100 }
|
9
|
+
var onMars: Float { return round((seconds / 59_354_294.4) * 100) / 100 }
|
10
|
+
var onJupiter: Float { return round((seconds / 374_335_776.0) * 100) / 100 }
|
11
|
+
var onSaturn: Float { return round((seconds / 929_596_608.0) * 100) / 100 }
|
12
|
+
var onUranus: Float { return round((seconds / 2_661_041_808.0) * 100) / 100 }
|
13
|
+
var onNeptune: Float { return round((seconds / 5_200_418_592.0) * 100) / 100 }
|
14
|
+
|
15
15
|
init(_ input: Float) {
|
16
|
-
|
17
16
|
self.seconds = input
|
18
|
-
|
19
17
|
}
|
20
18
|
|
21
19
|
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#endif
|
4
4
|
|
5
5
|
private extension XCTest {
|
6
|
-
func XCTAssertEqualMultiArray(_ aArray1:
|
6
|
+
func XCTAssertEqualMultiArray(_ aArray1: [[Int]], _ aArray2: [[Int]]) {
|
7
7
|
XCTAssertEqual(Array(aArray1.joined()), Array(aArray2.joined()))
|
8
8
|
}
|
9
9
|
}
|
@@ -7,7 +7,7 @@ private extension String {
|
|
7
7
|
if removeSpaces.hasSuffix("\n") {
|
8
8
|
return String(removeSpaces.characters.dropLast())
|
9
9
|
}
|
10
|
-
return
|
10
|
+
return removeSpaces
|
11
11
|
|
12
12
|
}
|
13
13
|
|
@@ -63,7 +63,7 @@ struct Tournament {
|
|
63
63
|
}
|
64
64
|
}
|
65
65
|
|
66
|
-
private var teams =
|
66
|
+
private var teams = [String : TeamResult]()
|
67
67
|
private mutating func addResult(_ team1: String, team2: String, outcome: Outcome) -> Void {
|
68
68
|
// Invert outcome for the second team.
|
69
69
|
let outcome2: Outcome = (outcome == Outcome.win) ? Outcome.loss :
|
@@ -5,7 +5,9 @@ struct Triangle {
|
|
5
5
|
var b: Double = 0
|
6
6
|
var c: Double = 0
|
7
7
|
|
8
|
-
var kind: String {
|
8
|
+
var kind: String {
|
9
|
+
return self.Kind()
|
10
|
+
}
|
9
11
|
|
10
12
|
init(_ a: Double, _ b: Double, _ c: Double) {
|
11
13
|
(self.a, self.b, self.c) = (a, b, c)
|
@@ -41,10 +43,12 @@ struct Triangle {
|
|
41
43
|
let unique = uniqueSides()
|
42
44
|
|
43
45
|
if unique == 1 {
|
44
|
-
return triangleKind.Equilateral
|
46
|
+
return triangleKind.Equilateral
|
47
|
+
}
|
45
48
|
|
46
49
|
if unique == 2 {
|
47
|
-
return triangleKind.Isosceles
|
50
|
+
return triangleKind.Isosceles
|
51
|
+
}
|
48
52
|
|
49
53
|
return triangleKind.Scalene
|
50
54
|
}
|
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.0.3.
|
4
|
+
version: 2.0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -628,6 +628,13 @@ files:
|
|
628
628
|
- tracks/c/exercises/leap/test/vendor/unity.c
|
629
629
|
- tracks/c/exercises/leap/test/vendor/unity.h
|
630
630
|
- tracks/c/exercises/leap/test/vendor/unity_internals.h
|
631
|
+
- tracks/c/exercises/meetup/makefile
|
632
|
+
- tracks/c/exercises/meetup/src/example.c
|
633
|
+
- tracks/c/exercises/meetup/src/example.h
|
634
|
+
- tracks/c/exercises/meetup/test/test_meetup.c
|
635
|
+
- tracks/c/exercises/meetup/test/vendor/unity.c
|
636
|
+
- tracks/c/exercises/meetup/test/vendor/unity.h
|
637
|
+
- tracks/c/exercises/meetup/test/vendor/unity_internals.h
|
631
638
|
- tracks/c/exercises/nth-prime/makefile
|
632
639
|
- tracks/c/exercises/nth-prime/src/example.c
|
633
640
|
- tracks/c/exercises/nth-prime/src/example.h
|
@@ -1194,6 +1201,9 @@ files:
|
|
1194
1201
|
- tracks/crystal/exercises/pangram/spec/pangram_spec.cr
|
1195
1202
|
- tracks/crystal/exercises/pangram/src/example.cr
|
1196
1203
|
- tracks/crystal/exercises/pangram/src/pangram.cr
|
1204
|
+
- tracks/crystal/exercises/pascals-triangle/spec/pascals_triangle_spec.cr
|
1205
|
+
- tracks/crystal/exercises/pascals-triangle/src/example.cr
|
1206
|
+
- tracks/crystal/exercises/pascals-triangle/src/pascals_triangle.cr
|
1197
1207
|
- tracks/crystal/exercises/raindrops/spec/raindrops_spec.cr
|
1198
1208
|
- tracks/crystal/exercises/raindrops/src/example.cr
|
1199
1209
|
- tracks/crystal/exercises/raindrops/src/raindrops.cr
|
@@ -1206,6 +1216,8 @@ files:
|
|
1206
1216
|
- tracks/crystal/exercises/roman-numerals/spec/roman_numerals_spec.cr
|
1207
1217
|
- tracks/crystal/exercises/roman-numerals/src/example.cr
|
1208
1218
|
- tracks/crystal/exercises/roman-numerals/src/roman_numerals.cr
|
1219
|
+
- tracks/crystal/exercises/run-length-encoding/spec/run_length_encoding_spec.cr
|
1220
|
+
- tracks/crystal/exercises/run-length-encoding/src/example.cr
|
1209
1221
|
- tracks/crystal/exercises/sieve/spec/sieve_spec.cr
|
1210
1222
|
- tracks/crystal/exercises/sieve/src/example.cr
|
1211
1223
|
- tracks/crystal/exercises/sieve/src/sieve.cr
|
@@ -1217,6 +1229,8 @@ files:
|
|
1217
1229
|
- tracks/crystal/src/generator/exercises/exercise_test_case.cr
|
1218
1230
|
- tracks/crystal/src/generator/exercises/forth.cr
|
1219
1231
|
- tracks/crystal/src/generator/exercises/hello_world.cr
|
1232
|
+
- tracks/crystal/src/generator/exercises/pascals-triangle.cr
|
1233
|
+
- tracks/crystal/src/generator/exercises/run_length_encoding.cr
|
1220
1234
|
- tracks/crystal/src/generator/exercises/templates/example.tt
|
1221
1235
|
- tracks/crystal/src/generator/generate.cr
|
1222
1236
|
- tracks/crystal/src/generator/spec/exercise_generator_spec.cr
|
@@ -3712,6 +3726,8 @@ files:
|
|
3712
3726
|
- tracks/javascript/exercises/acronym/acronym.spec.js
|
3713
3727
|
- tracks/javascript/exercises/acronym/example.js
|
3714
3728
|
- tracks/javascript/exercises/acronym/package.json
|
3729
|
+
- tracks/javascript/exercises/all-your-base/all-your-base.spec.js
|
3730
|
+
- tracks/javascript/exercises/all-your-base/example.js
|
3715
3731
|
- tracks/javascript/exercises/allergies/allergies.spec.js
|
3716
3732
|
- tracks/javascript/exercises/allergies/example.js
|
3717
3733
|
- tracks/javascript/exercises/anagram/anagram.spec.js
|
@@ -4554,6 +4570,8 @@ files:
|
|
4554
4570
|
- tracks/lua/exercises/transpose/transpose_spec.lua
|
4555
4571
|
- tracks/lua/exercises/triangle/example.lua
|
4556
4572
|
- tracks/lua/exercises/triangle/triangle_spec.lua
|
4573
|
+
- tracks/lua/exercises/variable-length-quantity/example.lua
|
4574
|
+
- tracks/lua/exercises/variable-length-quantity/variable-length-quantity_spec.lua
|
4557
4575
|
- tracks/lua/exercises/word-count/example.lua
|
4558
4576
|
- tracks/lua/exercises/word-count/word-count_spec.lua
|
4559
4577
|
- tracks/lua/exercises/word-search/example.lua
|
@@ -4739,6 +4757,9 @@ files:
|
|
4739
4757
|
- tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesExample.h
|
4740
4758
|
- tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesExample.m
|
4741
4759
|
- tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesTest.m
|
4760
|
+
- tracks/objective-c/exercises/transpose/TransposeExample.h
|
4761
|
+
- tracks/objective-c/exercises/transpose/TransposeExample.m
|
4762
|
+
- tracks/objective-c/exercises/transpose/TransposeTest.m
|
4742
4763
|
- tracks/objective-c/exercises/triangle/TriangleExample.h
|
4743
4764
|
- tracks/objective-c/exercises/triangle/TriangleExample.m
|
4744
4765
|
- tracks/objective-c/exercises/triangle/TriangleTest.m
|
@@ -4940,6 +4961,7 @@ files:
|
|
4940
4961
|
- tracks/ocaml/tools/test-generator/src/template.ml
|
4941
4962
|
- tracks/ocaml/tools/test-generator/src/test_gen.ml
|
4942
4963
|
- tracks/ocaml/tools/test-generator/src/utils.ml
|
4964
|
+
- tracks/ocaml/tools/test-generator/templates/all-your-base/template.ml
|
4943
4965
|
- tracks/ocaml/tools/test-generator/templates/anagram/template.ml
|
4944
4966
|
- tracks/ocaml/tools/test-generator/templates/bob/template.ml
|
4945
4967
|
- tracks/ocaml/tools/test-generator/templates/bracket-push/template.ml
|
@@ -4990,6 +5012,7 @@ files:
|
|
4990
5012
|
- tracks/perl5/docs/ABOUT.md
|
4991
5013
|
- tracks/perl5/docs/INSTALLATION.md
|
4992
5014
|
- tracks/perl5/docs/LEARNING.md
|
5015
|
+
- tracks/perl5/docs/RESOURCES.md
|
4993
5016
|
- tracks/perl5/docs/TESTS.md
|
4994
5017
|
- tracks/perl5/exercises/accumulate/Example.pm
|
4995
5018
|
- tracks/perl5/exercises/accumulate/accumulate.t
|
@@ -5159,6 +5182,9 @@ files:
|
|
5159
5182
|
- tracks/perl6/exercises/grains/grains.t
|
5160
5183
|
- tracks/perl6/exercises/leap/Example.pm
|
5161
5184
|
- tracks/perl6/exercises/leap/leap.t
|
5185
|
+
- tracks/perl6/exercises/phone-number/Example.pm
|
5186
|
+
- tracks/perl6/exercises/phone-number/cases.json
|
5187
|
+
- tracks/perl6/exercises/phone-number/phone.t
|
5162
5188
|
- tracks/perl6/exercises/raindrops/Example.pm
|
5163
5189
|
- tracks/perl6/exercises/raindrops/raindrops.t
|
5164
5190
|
- tracks/perl6/exercises/rna-transcription/Example.pm
|
@@ -5403,7 +5429,10 @@ files:
|
|
5403
5429
|
- tracks/purescript/docs/LEARNING.md
|
5404
5430
|
- tracks/purescript/docs/RESOURCES.md
|
5405
5431
|
- tracks/purescript/docs/TESTS.md
|
5406
|
-
- tracks/purescript/exercises
|
5432
|
+
- tracks/purescript/exercises/hello-world/bower.json
|
5433
|
+
- tracks/purescript/exercises/hello-world/examples/src/HelloWorld.purs
|
5434
|
+
- tracks/purescript/exercises/hello-world/src/HelloWorld.purs
|
5435
|
+
- tracks/purescript/exercises/hello-world/test/Main.purs
|
5407
5436
|
- tracks/purescript/img/icon.png
|
5408
5437
|
- tracks/python/.git
|
5409
5438
|
- tracks/python/.gitignore
|
@@ -6360,6 +6389,7 @@ files:
|
|
6360
6389
|
- tracks/scala/exercises/largest-series-product/example.scala
|
6361
6390
|
- tracks/scala/exercises/largest-series-product/src/main/scala/.keep
|
6362
6391
|
- tracks/scala/exercises/largest-series-product/src/test/scala/SeriesTest.scala
|
6392
|
+
- tracks/scala/exercises/leap/HINTS.md
|
6363
6393
|
- tracks/scala/exercises/leap/build.sbt
|
6364
6394
|
- tracks/scala/exercises/leap/example.scala
|
6365
6395
|
- tracks/scala/exercises/leap/src/main/scala/.keep
|
@@ -6451,6 +6481,7 @@ files:
|
|
6451
6481
|
- tracks/scala/exercises/rna-transcription/example.scala
|
6452
6482
|
- tracks/scala/exercises/rna-transcription/src/main/scala/.keep
|
6453
6483
|
- tracks/scala/exercises/rna-transcription/src/test/scala/transcription_test.scala
|
6484
|
+
- tracks/scala/exercises/robot-name/HINTS.md
|
6454
6485
|
- tracks/scala/exercises/robot-name/build.sbt
|
6455
6486
|
- tracks/scala/exercises/robot-name/example.scala
|
6456
6487
|
- tracks/scala/exercises/robot-name/src/main/scala/.keep
|
File without changes
|