trackler 2.0.8.33 → 2.0.8.34
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/lib/trackler/version.rb +1 -1
- data/tracks/csharp/exercises/food-chain/Example.cs +2 -2
- data/tracks/csharp/exercises/food-chain/FoodChain.cs +2 -2
- data/tracks/csharp/exercises/food-chain/FoodChainTest.cs +150 -73
- data/tracks/csharp/exercises/luhn/LuhnTest.cs +5 -8
- data/tracks/csharp/generators/Data/CanonicalDataValue.cs +10 -0
- data/tracks/csharp/generators/Exercises/FoodChainExercise.cs +27 -0
- data/tracks/csharp/generators/Exercises/NthPrimeExercise.cs +1 -3
- data/tracks/csharp/generators/Methods/EqualityTestMethodGenerator.cs +25 -1
- data/tracks/csharp/generators/Methods/TestMethodGenerator.cs +16 -4
- data/tracks/csharp/generators/Methods/TestMethodOptions.cs +1 -0
- data/tracks/csharp/generators/Methods/TestMethodRenderer.cs +15 -7
- data/tracks/csharp/generators/Program.cs +2 -0
- data/tracks/java/exercises/difference-of-squares/src/example/java/{Difference.java → DifferenceOfSquaresCalculator.java} +4 -4
- data/tracks/java/exercises/difference-of-squares/src/main/java/DifferenceOfSquaresCalculator.java +5 -0
- data/tracks/java/exercises/difference-of-squares/src/test/java/{DifferenceTest.java → DifferenceOfSquaresCalculatorTest.java} +18 -11
- data/tracks/java/exercises/sum-of-multiples/src/example/java/SumOfMultiples.java +17 -9
- data/tracks/java/exercises/sum-of-multiples/src/test/java/SumOfMultiplesTest.java +73 -88
- data/tracks/perl6/.travis.yml +3 -0
- data/tracks/python/exercises/bob/bob_test.py +47 -71
- data/tracks/python/exercises/leap/leap_test.py +10 -11
- data/tracks/python/exercises/pangram/pangram_test.py +16 -16
- data/tracks/python/exercises/prime-factors/prime_factors_test.py +11 -21
- data/tracks/python/exercises/sieve/sieve_test.py +32 -24
- data/tracks/swift/.gitignore +3 -0
- data/tracks/swift/.swiftlint.yml +4 -2
- data/tracks/swift/exercises/kindergarten-garden/Sources/KindergartenGardenExample.swift +4 -4
- data/tracks/swift/exercises/kindergarten-garden/Tests/KindergartenGardenTests/KindergartenGardenTests.swift +25 -25
- data/tracks/swift/exercises/meetup/Sources/MeetupExample.swift +6 -6
- data/tracks/swift/exercises/poker/Sources/PokerExample.swift +12 -14
- data/tracks/swift/exercises/robot-simulator/Sources/RobotSimulatorExample.swift +6 -6
- data/tracks/swift/exercises/robot-simulator/Tests/RobotSimulatorTests/RobotSimulatorTests.swift +4 -4
- metadata +7 -5
- data/tracks/java/exercises/difference-of-squares/src/main/java/Difference.java +0 -5
@@ -10,11 +10,11 @@ func == (lhs: Date, rhs: Date) -> Bool {
|
|
10
10
|
struct Date {
|
11
11
|
|
12
12
|
enum DateFormatingOption {
|
13
|
-
case
|
14
|
-
case
|
13
|
+
case yyyyMMdd
|
14
|
+
case yyyyMMddTHHmmss
|
15
15
|
}
|
16
16
|
|
17
|
-
var descriptionStyle: DateFormatingOption = .
|
17
|
+
var descriptionStyle: DateFormatingOption = .yyyyMMdd
|
18
18
|
|
19
19
|
fileprivate var tmDateBacking: tm = tm()
|
20
20
|
|
@@ -73,8 +73,8 @@ extension Date:CustomStringConvertible {
|
|
73
73
|
let dateTime = dateOnly + "T" + date[3] + ":" + date[4] + ":" + date[5]
|
74
74
|
|
75
75
|
switch descriptionStyle {
|
76
|
-
case .
|
77
|
-
case .
|
76
|
+
case .yyyyMMdd : return dateOnly
|
77
|
+
case .yyyyMMddTHHmmss : return dateTime
|
78
78
|
}
|
79
79
|
}
|
80
80
|
}
|
@@ -85,7 +85,7 @@ extension Date {
|
|
85
85
|
guard let date = Date.dateFromString(from) else { return nil }
|
86
86
|
tmDateBacking = date.tmDateBacking
|
87
87
|
if from.characters.count > 10 {
|
88
|
-
self.descriptionStyle = .
|
88
|
+
self.descriptionStyle = .yyyyMMddTHHmmss
|
89
89
|
}
|
90
90
|
}
|
91
91
|
|
@@ -68,8 +68,7 @@ enum HandRank {
|
|
68
68
|
toReturn[each] = (toReturn[each] ?? 0) + 1
|
69
69
|
}
|
70
70
|
}
|
71
|
-
let result = toReturn.map({ key, value in return (rank:key, count:value) }).sorted(by: {
|
72
|
-
(one, two) in
|
71
|
+
let result = toReturn.map({ key, value in return (rank:key, count:value) }).sorted(by: { (one, two) in
|
73
72
|
return one.count == two.count ? one.rank > two.rank : one.count > two.count
|
74
73
|
})
|
75
74
|
return result
|
@@ -79,7 +78,7 @@ enum HandRank {
|
|
79
78
|
let suits = inputHand.hand.map({ $0.suit })
|
80
79
|
let first = suits[0]
|
81
80
|
for each in suits {
|
82
|
-
guard first == each else { return (false, .
|
81
|
+
guard first == each else { return (false, .none) }
|
83
82
|
}
|
84
83
|
return (true, first)
|
85
84
|
}
|
@@ -88,7 +87,7 @@ enum HandRank {
|
|
88
87
|
let sorted = inputHand.hand.sorted(by: { $0.rank < $1.rank })
|
89
88
|
let first = sorted[0].rank.rawValue
|
90
89
|
for (index, each) in sorted.enumerated() {
|
91
|
-
|
90
|
+
guard each.rank.rawValue != index + first else { continue }
|
92
91
|
// checks for Ace as the lowest card
|
93
92
|
guard let aceIndex = inputHand.hand.index(where: { $0.rank.rawValue == 14 })else { return (false, .ace) }
|
94
93
|
var replacedAced = inputHand.hand.map({ $0.rank.rawValue })
|
@@ -98,7 +97,6 @@ enum HandRank {
|
|
98
97
|
for (idx, eachVal) in replacedAced.enumerated() {
|
99
98
|
guard eachVal == firstVal + idx else { return (false, .ace) }
|
100
99
|
}
|
101
|
-
}
|
102
100
|
}
|
103
101
|
let last = sorted[sorted.count - 1].rank
|
104
102
|
return (true, last)
|
@@ -318,16 +316,16 @@ enum Rank: Int {
|
|
318
316
|
}
|
319
317
|
|
320
318
|
enum Suit: String {
|
321
|
-
case
|
322
|
-
case
|
319
|
+
case spades, hearts, diamonds, clubs
|
320
|
+
case none
|
323
321
|
|
324
322
|
init?(_ suit: String) {
|
325
323
|
|
326
324
|
switch suit {
|
327
|
-
case "♡": self = .
|
328
|
-
case "♢": self = .
|
329
|
-
case "♧": self = .
|
330
|
-
case "♤": self = .
|
325
|
+
case "♡": self = .hearts
|
326
|
+
case "♢": self = .diamonds
|
327
|
+
case "♧": self = .clubs
|
328
|
+
case "♤": self = .spades
|
331
329
|
case _ : return nil
|
332
330
|
}
|
333
331
|
}
|
@@ -350,9 +348,9 @@ func < (lhs: Suit, rhs: Suit) -> Bool {
|
|
350
348
|
switch (lhs, rhs) {
|
351
349
|
case (_, _) where lhs == rhs:
|
352
350
|
return false
|
353
|
-
case (.
|
354
|
-
(.
|
355
|
-
(.
|
351
|
+
case (.spades, _),
|
352
|
+
(.hearts, .diamonds), (.hearts, .clubs),
|
353
|
+
(.diamonds, .clubs):
|
356
354
|
return false
|
357
355
|
default:
|
358
356
|
return true
|
@@ -10,9 +10,9 @@ struct SimulatedRobot {
|
|
10
10
|
}
|
11
11
|
|
12
12
|
enum Instruction: String {
|
13
|
-
case
|
14
|
-
case
|
15
|
-
case
|
13
|
+
case turnLeft = "L"
|
14
|
+
case turnRight = "R"
|
15
|
+
case advance = "A"
|
16
16
|
}
|
17
17
|
|
18
18
|
var bearing: Direction = .north
|
@@ -82,9 +82,9 @@ struct SimulatedRobot {
|
|
82
82
|
mutating func evaluate(_ commands: String) {
|
83
83
|
for instruction in instructions(commands) {
|
84
84
|
switch instruction {
|
85
|
-
case .
|
86
|
-
case .
|
87
|
-
case .
|
85
|
+
case .turnLeft: turnLeft()
|
86
|
+
case .turnRight: turnRight()
|
87
|
+
case .advance: advance()
|
88
88
|
}
|
89
89
|
}
|
90
90
|
}
|
data/tracks/swift/exercises/robot-simulator/Tests/RobotSimulatorTests/RobotSimulatorTests.swift
CHANGED
@@ -111,19 +111,19 @@ class RobotSimulatorTests: XCTestCase {
|
|
111
111
|
}
|
112
112
|
|
113
113
|
func testInstructionForTurningLeft() {
|
114
|
-
XCTAssertEqual([.
|
114
|
+
XCTAssertEqual([.turnLeft], robot.instructions("L"))
|
115
115
|
}
|
116
116
|
|
117
117
|
func testInstructionForTurningRight() {
|
118
|
-
XCTAssertEqual([.
|
118
|
+
XCTAssertEqual([.turnRight], robot.instructions("R"))
|
119
119
|
}
|
120
120
|
|
121
121
|
func testInstructionForAdvancing() {
|
122
|
-
XCTAssertEqual([.
|
122
|
+
XCTAssertEqual([.advance], robot.instructions("A"))
|
123
123
|
}
|
124
124
|
|
125
125
|
func testSeriesOfInstructions() {
|
126
|
-
XCTAssertEqual([.
|
126
|
+
XCTAssertEqual([.turnRight, .advance, .advance, .turnLeft], robot.instructions("RAAL"))
|
127
127
|
}
|
128
128
|
|
129
129
|
func testInstructRobot() {
|
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.8.
|
4
|
+
version: 2.0.8.34
|
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-03-
|
11
|
+
date: 2017-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -1837,12 +1837,14 @@ files:
|
|
1837
1837
|
- tracks/csharp/generators/Data/CanonicalDataCaseJsonConverter.cs
|
1838
1838
|
- tracks/csharp/generators/Data/CanonicalDataCasesJsonConverter.cs
|
1839
1839
|
- tracks/csharp/generators/Data/CanonicalDataParser.cs
|
1840
|
+
- tracks/csharp/generators/Data/CanonicalDataValue.cs
|
1840
1841
|
- tracks/csharp/generators/Data/ExerciseCollection.cs
|
1841
1842
|
- tracks/csharp/generators/Exercises/AcronymExercise.cs
|
1842
1843
|
- tracks/csharp/generators/Exercises/AtbashCipherExercise.cs
|
1843
1844
|
- tracks/csharp/generators/Exercises/BooleanExercise.cs
|
1844
1845
|
- tracks/csharp/generators/Exercises/EqualityExercise.cs
|
1845
1846
|
- tracks/csharp/generators/Exercises/Exercise.cs
|
1847
|
+
- tracks/csharp/generators/Exercises/FoodChainExercise.cs
|
1846
1848
|
- tracks/csharp/generators/Exercises/IsogramExercise.cs
|
1847
1849
|
- tracks/csharp/generators/Exercises/LeapExercise.cs
|
1848
1850
|
- tracks/csharp/generators/Exercises/LuhnExercise.cs
|
@@ -4285,9 +4287,9 @@ files:
|
|
4285
4287
|
- tracks/java/exercises/diamond/src/main/java/DiamondPrinter.java
|
4286
4288
|
- tracks/java/exercises/diamond/src/test/java/DiamondPrinterTest.java
|
4287
4289
|
- tracks/java/exercises/difference-of-squares/build.gradle
|
4288
|
-
- tracks/java/exercises/difference-of-squares/src/example/java/
|
4289
|
-
- tracks/java/exercises/difference-of-squares/src/main/java/
|
4290
|
-
- tracks/java/exercises/difference-of-squares/src/test/java/
|
4290
|
+
- tracks/java/exercises/difference-of-squares/src/example/java/DifferenceOfSquaresCalculator.java
|
4291
|
+
- tracks/java/exercises/difference-of-squares/src/main/java/DifferenceOfSquaresCalculator.java
|
4292
|
+
- tracks/java/exercises/difference-of-squares/src/test/java/DifferenceOfSquaresCalculatorTest.java
|
4291
4293
|
- tracks/java/exercises/etl/build.gradle
|
4292
4294
|
- tracks/java/exercises/etl/src/example/java/Etl.java
|
4293
4295
|
- tracks/java/exercises/etl/src/main/java/Etl.java
|