trackler 2.0.3.4 → 2.0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|