trackler 2.2.1.139 → 2.2.1.140
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/matrix/Example.cs +1 -1
- data/tracks/csharp/exercises/matrix/Matrix.cs +2 -2
- data/tracks/csharp/exercises/matrix/MatrixTest.cs +41 -48
- data/tracks/csharp/exercises/twelve-days/Example.cs +17 -22
- data/tracks/csharp/exercises/twelve-days/README.md +0 -11
- data/tracks/csharp/exercises/twelve-days/TwelveDays.cs +3 -8
- data/tracks/csharp/exercises/twelve-days/TwelveDaysTest.cs +69 -56
- data/tracks/csharp/generators/Exercises/Matrix.cs +18 -0
- data/tracks/csharp/generators/Exercises/TwelveDays.cs +28 -0
- data/tracks/elm/docs/TESTS.md +3 -4
- data/tracks/erlang/config.json +8 -0
- data/tracks/erlang/exercises/pascals-triangle/README.md +64 -0
- data/tracks/erlang/exercises/pascals-triangle/rebar.config +30 -0
- data/tracks/erlang/exercises/pascals-triangle/src/example.erl +30 -0
- data/tracks/erlang/exercises/pascals-triangle/src/pascals_triangle.app.src +9 -0
- data/tracks/erlang/exercises/pascals-triangle/src/pascals_triangle.erl +8 -0
- data/tracks/erlang/exercises/pascals-triangle/test/pascals_triangle_tests.erl +51 -0
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellmanTest.fs +30 -50
- data/tracks/fsharp/exercises/yacht/YachtTest.fs +5 -1
- data/tracks/fsharp/generators/Generators.fs +53 -0
- data/tracks/go/config.json +12 -0
- data/tracks/go/exercises/markdown/.meta/gen.go +59 -0
- data/tracks/go/exercises/markdown/README.md +35 -0
- data/tracks/go/exercises/markdown/cases_test.go +59 -0
- data/tracks/go/exercises/markdown/example.go +70 -0
- data/tracks/go/exercises/markdown/markdown.go +66 -0
- data/tracks/go/exercises/markdown/markdown_test.go +21 -0
- data/tracks/python/exercises/crypto-square/README.md +23 -19
- data/tracks/python/exercises/yacht/yacht_test.py +4 -1
- data/tracks/swift/exercises/phone-number/Tests/PhoneNumberTests/PhoneNumberTests.swift +14 -14
- metadata +16 -2
@@ -12,11 +12,15 @@ regarded as forming a rectangle when printed with intervening newlines.
|
|
12
12
|
|
13
13
|
For example, the sentence
|
14
14
|
|
15
|
-
|
15
|
+
```text
|
16
|
+
"If man was meant to stay on the ground, god would have given us roots."
|
17
|
+
```
|
16
18
|
|
17
19
|
is normalized to:
|
18
20
|
|
19
|
-
|
21
|
+
```text
|
22
|
+
"ifmanwasmeanttostayonthegroundgodwouldhavegivenusroots"
|
23
|
+
```
|
20
24
|
|
21
25
|
The plaintext should be organized in to a rectangle. The size of the
|
22
26
|
rectangle (`r x c`) should be decided by the length of the message,
|
@@ -27,13 +31,13 @@ Our normalized text is 54 characters long, dictating a rectangle with
|
|
27
31
|
`c = 8` and `r = 7`:
|
28
32
|
|
29
33
|
```text
|
30
|
-
ifmanwas
|
31
|
-
meanttos
|
32
|
-
tayonthe
|
33
|
-
groundgo
|
34
|
-
dwouldha
|
35
|
-
vegivenu
|
36
|
-
sroots
|
34
|
+
"ifmanwas"
|
35
|
+
"meanttos"
|
36
|
+
"tayonthe"
|
37
|
+
"groundgo"
|
38
|
+
"dwouldha"
|
39
|
+
"vegivenu"
|
40
|
+
"sroots "
|
37
41
|
```
|
38
42
|
|
39
43
|
The coded message is obtained by reading down the columns going left to
|
@@ -42,7 +46,7 @@ right.
|
|
42
46
|
The message above is coded as:
|
43
47
|
|
44
48
|
```text
|
45
|
-
imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau
|
49
|
+
"imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau"
|
46
50
|
```
|
47
51
|
|
48
52
|
Output the encoded text in chunks that fill perfect rectangles `(r X c)`,
|
@@ -51,21 +55,21 @@ with `c` chunks of `r` length, separated by spaces. For phrases that are
|
|
51
55
|
chunks with a single trailing space.
|
52
56
|
|
53
57
|
```text
|
54
|
-
imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau
|
58
|
+
"imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau "
|
55
59
|
```
|
56
60
|
|
57
61
|
Notice that were we to stack these, we could visually decode the
|
58
62
|
cyphertext back in to the original message:
|
59
63
|
|
60
64
|
```text
|
61
|
-
imtgdvs
|
62
|
-
fearwer
|
63
|
-
mayoogo
|
64
|
-
anouuio
|
65
|
-
ntnnlvt
|
66
|
-
wttddes
|
67
|
-
aohghn
|
68
|
-
sseoau
|
65
|
+
"imtgdvs"
|
66
|
+
"fearwer"
|
67
|
+
"mayoogo"
|
68
|
+
"anouuio"
|
69
|
+
"ntnnlvt"
|
70
|
+
"wttddes"
|
71
|
+
"aohghn "
|
72
|
+
"sseoau "
|
69
73
|
```
|
70
74
|
|
71
75
|
## Exception messages
|
@@ -4,7 +4,7 @@ import yacht
|
|
4
4
|
from yacht import score
|
5
5
|
|
6
6
|
|
7
|
-
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.
|
7
|
+
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
8
8
|
|
9
9
|
class YachtTests(unittest.TestCase):
|
10
10
|
def test_yacht(self):
|
@@ -46,6 +46,9 @@ class YachtTests(unittest.TestCase):
|
|
46
46
|
def test_two_pair_is_not_a_full_house(self):
|
47
47
|
self.assertEqual(score([2, 2, 4, 4, 5], yacht.FULL_HOUSE), 0)
|
48
48
|
|
49
|
+
def test_four_of_a_kind_is_not_a_full_house(self):
|
50
|
+
self.assertEqual(score([1, 4, 4, 4, 4], yacht.FULL_HOUSE), 0)
|
51
|
+
|
49
52
|
def test_yacht_is_not_a_full_house(self):
|
50
53
|
self.assertEqual(score([2, 2, 2, 2, 2], yacht.FULL_HOUSE), 0)
|
51
54
|
|
@@ -3,29 +3,29 @@ import XCTest
|
|
3
3
|
|
4
4
|
class PhoneNumberTests: XCTestCase {
|
5
5
|
func testValidWithTenDigits() {
|
6
|
-
let startingNumber = "
|
7
|
-
let expected = "
|
6
|
+
let startingNumber = "2234567890"
|
7
|
+
let expected = "2234567890"
|
8
8
|
let result = PhoneNumber(startingNumber)
|
9
9
|
XCTAssertEqual(result.number, expected)
|
10
10
|
}
|
11
11
|
|
12
12
|
func testCleansNumber() {
|
13
|
-
let startingNumber = "(
|
14
|
-
let expected = "
|
13
|
+
let startingNumber = "(223) 456-7890"
|
14
|
+
let expected = "2234567890"
|
15
15
|
let result = PhoneNumber(startingNumber)
|
16
16
|
XCTAssertEqual(result.number, expected)
|
17
17
|
}
|
18
18
|
|
19
19
|
func testCleansNumberWithDots() {
|
20
|
-
let startingNumber = "
|
21
|
-
let expected = "
|
20
|
+
let startingNumber = "223.456.7890"
|
21
|
+
let expected = "2234567890"
|
22
22
|
let result = PhoneNumber(startingNumber)
|
23
23
|
XCTAssertEqual(result.number, expected)
|
24
24
|
}
|
25
25
|
|
26
26
|
func testValidWithElevenDigitsAndFirstIsOne() {
|
27
|
-
let startingNumber = "
|
28
|
-
let expected = "
|
27
|
+
let startingNumber = "12234567890"
|
28
|
+
let expected = "2234567890"
|
29
29
|
let result = PhoneNumber(startingNumber)
|
30
30
|
XCTAssertEqual(result.number, expected)
|
31
31
|
}
|
@@ -45,23 +45,23 @@ class PhoneNumberTests: XCTestCase {
|
|
45
45
|
}
|
46
46
|
|
47
47
|
func testAreaCode() {
|
48
|
-
let startingNumber = "
|
49
|
-
let expected = "
|
48
|
+
let startingNumber = "2234567890"
|
49
|
+
let expected = "223"
|
50
50
|
let number = PhoneNumber(startingNumber)
|
51
51
|
let result = number.areaCode
|
52
52
|
XCTAssertEqual(result, expected)
|
53
53
|
}
|
54
54
|
|
55
55
|
func testPrettyPrint() {
|
56
|
-
let startingNumber = "
|
57
|
-
let expected = "(
|
56
|
+
let startingNumber = "2234567890"
|
57
|
+
let expected = "(223) 456-7890"
|
58
58
|
let number = PhoneNumber(startingNumber)
|
59
59
|
XCTAssertEqual(String(describing: number), expected)
|
60
60
|
}
|
61
61
|
|
62
62
|
func testPrettyPrintWithFullUSPhoneNumber() {
|
63
|
-
let startingNumber = "
|
64
|
-
let expected = "(
|
63
|
+
let startingNumber = "12234567890"
|
64
|
+
let expected = "(223) 456-7890"
|
65
65
|
let number = PhoneNumber(startingNumber)
|
66
66
|
XCTAssertEqual(String(describing: number), expected)
|
67
67
|
}
|
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.2.1.
|
4
|
+
version: 2.2.1.140
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -3199,6 +3199,7 @@ files:
|
|
3199
3199
|
- tracks/csharp/generators/Exercises/LargestSeriesProduct.cs
|
3200
3200
|
- tracks/csharp/generators/Exercises/Leap.cs
|
3201
3201
|
- tracks/csharp/generators/Exercises/Luhn.cs
|
3202
|
+
- tracks/csharp/generators/Exercises/Matrix.cs
|
3202
3203
|
- tracks/csharp/generators/Exercises/Meetup.cs
|
3203
3204
|
- tracks/csharp/generators/Exercises/Minesweeper.cs
|
3204
3205
|
- tracks/csharp/generators/Exercises/NthPrime.cs
|
@@ -3233,6 +3234,7 @@ files:
|
|
3233
3234
|
- tracks/csharp/generators/Exercises/Tournament.cs
|
3234
3235
|
- tracks/csharp/generators/Exercises/Transpose.cs
|
3235
3236
|
- tracks/csharp/generators/Exercises/Triangle.cs
|
3237
|
+
- tracks/csharp/generators/Exercises/TwelveDays.cs
|
3236
3238
|
- tracks/csharp/generators/Exercises/TwoBucket.cs
|
3237
3239
|
- tracks/csharp/generators/Exercises/TwoFer.cs
|
3238
3240
|
- tracks/csharp/generators/Exercises/WordCount.cs
|
@@ -5005,6 +5007,12 @@ files:
|
|
5005
5007
|
- tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.app.src
|
5006
5008
|
- tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.erl
|
5007
5009
|
- tracks/erlang/exercises/parallel-letter-frequency/test/parallel_letter_frequency_tests.erl
|
5010
|
+
- tracks/erlang/exercises/pascals-triangle/README.md
|
5011
|
+
- tracks/erlang/exercises/pascals-triangle/rebar.config
|
5012
|
+
- tracks/erlang/exercises/pascals-triangle/src/example.erl
|
5013
|
+
- tracks/erlang/exercises/pascals-triangle/src/pascals_triangle.app.src
|
5014
|
+
- tracks/erlang/exercises/pascals-triangle/src/pascals_triangle.erl
|
5015
|
+
- tracks/erlang/exercises/pascals-triangle/test/pascals_triangle_tests.erl
|
5008
5016
|
- tracks/erlang/exercises/phone-number/README.md
|
5009
5017
|
- tracks/erlang/exercises/phone-number/rebar.config
|
5010
5018
|
- tracks/erlang/exercises/phone-number/src/example.erl
|
@@ -6278,6 +6286,12 @@ files:
|
|
6278
6286
|
- tracks/go/exercises/luhn/cases_test.go
|
6279
6287
|
- tracks/go/exercises/luhn/example.go
|
6280
6288
|
- tracks/go/exercises/luhn/luhn_test.go
|
6289
|
+
- tracks/go/exercises/markdown/.meta/gen.go
|
6290
|
+
- tracks/go/exercises/markdown/README.md
|
6291
|
+
- tracks/go/exercises/markdown/cases_test.go
|
6292
|
+
- tracks/go/exercises/markdown/example.go
|
6293
|
+
- tracks/go/exercises/markdown/markdown.go
|
6294
|
+
- tracks/go/exercises/markdown/markdown_test.go
|
6281
6295
|
- tracks/go/exercises/matrix/README.md
|
6282
6296
|
- tracks/go/exercises/matrix/example.go
|
6283
6297
|
- tracks/go/exercises/matrix/matrix_test.go
|