trackler 2.2.1.13 → 2.2.1.14
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/problem-specifications/exercises/change/canonical-data.json +8 -1
- data/tracks/csharp/config.json +25 -26
- data/tracks/csharp/docs/SNIPPET.txt +7 -0
- data/tracks/csharp/exercises/house/Example.cs +5 -5
- data/tracks/csharp/exercises/house/House.cs +6 -1
- data/tracks/csharp/exercises/house/HouseTest.cs +208 -5
- data/tracks/csharp/exercises/phone-number/Example.cs +2 -1
- data/tracks/csharp/exercises/phone-number/PhoneNumberTest.cs +8 -7
- data/tracks/csharp/exercises/rna-transcription/Example.cs +2 -1
- data/tracks/csharp/exercises/rna-transcription/RnaTranscriptionTest.cs +4 -3
- data/tracks/csharp/exercises/say/SayTest.cs +20 -24
- data/tracks/csharp/exercises/sieve/Example.cs +6 -0
- data/tracks/csharp/exercises/sieve/SieveTest.cs +25 -17
- data/tracks/csharp/exercises/space-age/SpaceAgeTest.cs +19 -24
- data/tracks/csharp/exercises/sum-of-multiples/Example.cs +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiples.cs +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiplesTest.cs +48 -16
- data/tracks/csharp/generators/Exercises/House.cs +16 -0
- data/tracks/csharp/generators/Exercises/PhoneNumber.cs +3 -1
- data/tracks/csharp/generators/Exercises/RnaTranscription.cs +11 -1
- data/tracks/csharp/generators/Exercises/Say.cs +22 -0
- data/tracks/csharp/generators/Exercises/Sieve.cs +17 -0
- data/tracks/csharp/generators/Exercises/SpaceAge.cs +25 -0
- data/tracks/csharp/generators/Exercises/SumOfMultiples.cs +22 -0
- data/tracks/csharp/generators/Output/ValueFormatter.cs +4 -0
- data/tracks/dart/docs/ABOUT.md +21 -0
- data/tracks/ecmascript/README.md +1 -1
- data/tracks/ecmascript/config.json +15 -0
- data/tracks/ecmascript/exercises/proverb/README.md +63 -0
- data/tracks/ecmascript/exercises/proverb/example.js +23 -0
- data/tracks/ecmascript/exercises/proverb/package.json +69 -0
- data/tracks/ecmascript/exercises/proverb/proverb.spec.js +70 -0
- data/tracks/go/config.json +226 -226
- data/tracks/groovy/config.json +11 -0
- data/tracks/groovy/exercises/two-fer/Example.groovy +6 -0
- data/tracks/groovy/exercises/two-fer/README.md +62 -0
- data/tracks/groovy/exercises/two-fer/TwoFer.groovy +6 -0
- data/tracks/groovy/exercises/two-fer/TwoFerSpec.groovy +24 -0
- data/tracks/java/.travis.yml +2 -2
- data/tracks/java/bin/journey-test.sh +44 -1
- data/tracks/java/bin/run-journey-test-from-ci.sh +28 -0
- data/tracks/java/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +0 -0
- data/tracks/java/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/change/src/test/java/ChangeCalculatorTest.java +27 -2
- data/tracks/java/exercises/clock/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/hamming/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/hello-world/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/isogram/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/list-ops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/pig-latin/src/example/java/PigLatinTranslator.java +17 -20
- data/tracks/java/exercises/simple-cipher/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/two-fer/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/kotlin/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +0 -0
- data/tracks/kotlin/exercises/accumulate/README.md +1 -4
- data/tracks/kotlin/exercises/acronym/README.md +1 -1
- data/tracks/kotlin/exercises/all-your-base/README.md +1 -1
- data/tracks/kotlin/exercises/allergies/README.md +1 -1
- data/tracks/kotlin/exercises/anagram/README.md +1 -1
- data/tracks/kotlin/exercises/atbash-cipher/README.md +1 -1
- data/tracks/kotlin/exercises/bank-account/README.md +1 -1
- data/tracks/kotlin/exercises/beer-song/README.md +1 -1
- data/tracks/kotlin/exercises/binary-search/README.md +1 -1
- data/tracks/kotlin/exercises/binary/README.md +1 -1
- data/tracks/kotlin/exercises/bob/README.md +1 -1
- data/tracks/kotlin/exercises/bracket-push/README.md +1 -1
- data/tracks/kotlin/exercises/change/README.md +1 -1
- data/tracks/kotlin/exercises/clock/README.md +1 -1
- data/tracks/kotlin/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/kotlin/exercises/complex-numbers/README.md +1 -1
- data/tracks/kotlin/exercises/diamond/README.md +1 -1
- data/tracks/kotlin/exercises/difference-of-squares/README.md +1 -1
- data/tracks/kotlin/exercises/etl/README.md +1 -1
- data/tracks/kotlin/exercises/flatten-array/README.md +1 -1
- data/tracks/kotlin/exercises/gigasecond/README.md +1 -1
- data/tracks/kotlin/exercises/grade-school/README.md +1 -1
- data/tracks/kotlin/exercises/grains/README.md +1 -1
- data/tracks/kotlin/exercises/hamming/README.md +1 -1
- data/tracks/kotlin/exercises/hello-world/README.md +1 -1
- data/tracks/kotlin/exercises/hexadecimal/README.md +1 -1
- data/tracks/kotlin/exercises/isogram/README.md +1 -1
- data/tracks/kotlin/exercises/largest-series-product/README.md +1 -1
- data/tracks/kotlin/exercises/leap/README.md +1 -1
- data/tracks/kotlin/exercises/linked-list/README.md +1 -1
- data/tracks/kotlin/exercises/list-ops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/kotlin/exercises/list-ops/README.md +1 -1
- data/tracks/kotlin/exercises/luhn/README.md +1 -1
- data/tracks/kotlin/exercises/minesweeper/README.md +1 -1
- data/tracks/kotlin/exercises/nth-prime/README.md +1 -1
- data/tracks/kotlin/exercises/nucleotide-count/README.md +1 -1
- data/tracks/kotlin/exercises/pangram/README.md +1 -1
- data/tracks/kotlin/exercises/pascals-triangle/README.md +1 -1
- data/tracks/kotlin/exercises/perfect-numbers/README.md +1 -1
- data/tracks/kotlin/exercises/phone-number/README.md +1 -1
- data/tracks/kotlin/exercises/pig-latin/README.md +1 -1
- data/tracks/kotlin/exercises/prime-factors/README.md +1 -1
- data/tracks/kotlin/exercises/raindrops/README.md +1 -1
- data/tracks/kotlin/exercises/react/README.md +1 -1
- data/tracks/kotlin/exercises/rna-transcription/README.md +1 -1
- data/tracks/kotlin/exercises/robot-name/README.md +1 -1
- data/tracks/kotlin/exercises/robot-simulator/README.md +1 -1
- data/tracks/kotlin/exercises/roman-numerals/README.md +1 -1
- data/tracks/kotlin/exercises/saddle-points/README.md +1 -1
- data/tracks/kotlin/exercises/scrabble-score/README.md +1 -1
- data/tracks/kotlin/exercises/secret-handshake/README.md +1 -1
- data/tracks/kotlin/exercises/series/README.md +1 -1
- data/tracks/kotlin/exercises/sieve/README.md +1 -1
- data/tracks/kotlin/exercises/simple-cipher/README.md +2 -2
- data/tracks/kotlin/exercises/space-age/README.md +3 -2
- data/tracks/kotlin/exercises/spiral-matrix/README.md +1 -1
- data/tracks/kotlin/exercises/strain/README.md +1 -1
- data/tracks/kotlin/exercises/sublist/README.md +1 -1
- data/tracks/kotlin/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/kotlin/exercises/triangle/README.md +1 -1
- data/tracks/kotlin/exercises/word-count/README.md +1 -1
- data/tracks/pony/exercises/atbash-cipher/example.pony +4 -3
- data/tracks/pony/exercises/beer-song/example.pony +10 -9
- data/tracks/pony/exercises/bob/example.pony +1 -1
- data/tracks/pony/exercises/difference-of-squares/example.pony +2 -2
- data/tracks/pony/exercises/hamming/example.pony +1 -1
- data/tracks/pony/exercises/hamming/test.pony +2 -2
- data/tracks/pony/exercises/leap/example.pony +1 -1
- data/tracks/pony/exercises/pascals-triangle/example.pony +2 -2
- data/tracks/pony/exercises/rna-transcription/test.pony +2 -2
- data/tracks/pony/exercises/roman-numerals/test.pony +2 -2
- data/tracks/python/config.json +22 -0
- data/tracks/python/docs/ABOUT.md +11 -3
- data/tracks/python/exercises/collatz-conjecture/README.md +61 -0
- data/tracks/python/exercises/collatz-conjecture/collatz_conjecture.py +2 -0
- data/tracks/python/exercises/collatz-conjecture/collatz_conjecture_test.py +32 -0
- data/tracks/python/exercises/collatz-conjecture/example.py +17 -0
- data/tracks/python/exercises/isogram/isogram.py +1 -1
- data/tracks/python/exercises/isogram/isogram_test.py +3 -0
- data/tracks/python/exercises/scale-generator/example.py +2 -0
- data/tracks/python/exercises/scale-generator/scale_generator_test.py +4 -0
- data/tracks/python/exercises/two-fer/README.md +29 -0
- data/tracks/python/exercises/two-fer/example.py +5 -0
- data/tracks/python/exercises/two-fer/two_fer.py +2 -0
- data/tracks/python/exercises/two-fer/two_fer_test.py +18 -0
- data/tracks/r/config/maintainers.json +2 -2
- data/tracks/ruby/config.json +2 -1
- data/tracks/scala/exercises/minesweeper/src/test/scala/MinesweeperTest.scala +85 -36
- data/tracks/scala/testgen/src/main/scala/MinesweeperTestGenerator.scala +15 -0
- data/tracks/vimscript/README.md +1 -1
- metadata +37 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 69d8a0c223e95766003538ba5109943e8eef13db
|
|
4
|
+
data.tar.gz: '000541378abedc95ec41d12a7ce16572ec43b5f0'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eb37a920f2bd96e4628d637bb5c946c1ba06c806a6aa87e0e8975ea8cd05c3b3c3b11faf93ba2a8ac67ce2c60ba8bfdc461e825a2226c0fcc9072b1f6331b503
|
|
7
|
+
data.tar.gz: ee47479dcc5d58ed396281d1370c9c1e2bfac02716e8229c86ee353ba85576f90e119767176a39e841f26a51b4edca23119e167d184f64e515c6916320f5de4b
|
data/lib/trackler/version.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"exercise": "change",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"comments": [
|
|
5
5
|
"Given an infinite supply of coins with different values, ",
|
|
6
6
|
"find the smallest number of coins needed to make a desired ",
|
|
@@ -51,6 +51,13 @@
|
|
|
51
51
|
"target": 21,
|
|
52
52
|
"expected": [2, 2, 2, 5, 10]
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
"description": "another possible change without unit coins available",
|
|
56
|
+
"property": "findFewestCoins",
|
|
57
|
+
"coins": [4, 5],
|
|
58
|
+
"target": 27,
|
|
59
|
+
"expected": [4, 4, 4, 5, 5, 5]
|
|
60
|
+
},
|
|
54
61
|
{
|
|
55
62
|
"description": "no coins make 0 change",
|
|
56
63
|
"property": "findFewestCoins",
|
data/tracks/csharp/config.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"language": "C#",
|
|
3
3
|
"active": true,
|
|
4
|
-
"blurb": "C# is a modern, object-oriented language with lots of great features, such as type-inference and async/await. The
|
|
4
|
+
"blurb": "C# is a modern, object-oriented language with lots of great features, such as type-inference and async/await. The tooling is excellent, and there is extensive, well-written documentation.",
|
|
5
5
|
"exercises": [
|
|
6
6
|
{
|
|
7
7
|
"uuid": "6c88f46b-5acb-4fae-a6ec-b48ae3f8168f",
|
|
@@ -47,25 +47,25 @@
|
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
"uuid": "
|
|
51
|
-
"slug": "
|
|
50
|
+
"uuid": "29ae7f8e-a009-4175-9350-a8c684c89730",
|
|
51
|
+
"slug": "raindrops",
|
|
52
52
|
"core": true,
|
|
53
|
-
"unlocked_by":
|
|
54
|
-
"difficulty":
|
|
53
|
+
"unlocked_by": null,
|
|
54
|
+
"difficulty": 2,
|
|
55
55
|
"topics": [
|
|
56
56
|
"Strings",
|
|
57
|
-
"
|
|
57
|
+
"Filtering"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
"uuid": "
|
|
62
|
-
"slug": "
|
|
61
|
+
"uuid": "57f02d0e-7b75-473b-892d-26a7d980c4ce",
|
|
62
|
+
"slug": "two-fer",
|
|
63
63
|
"core": true,
|
|
64
|
-
"unlocked_by": null,
|
|
65
|
-
"difficulty":
|
|
64
|
+
"unlocked_by": "null",
|
|
65
|
+
"difficulty": 1,
|
|
66
66
|
"topics": [
|
|
67
|
-
"
|
|
68
|
-
"
|
|
67
|
+
"Strings",
|
|
68
|
+
"Optional values"
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
71
|
{
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
"unlocked_by": "raindrops",
|
|
319
319
|
"difficulty": 3,
|
|
320
320
|
"topics": [
|
|
321
|
-
"
|
|
321
|
+
"Strings",
|
|
322
322
|
"Algorithms"
|
|
323
323
|
]
|
|
324
324
|
},
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
"uuid": "75a2d5f0-5f5e-46a3-9dd2-3da415690e18",
|
|
339
339
|
"slug": "protein-translation",
|
|
340
340
|
"core": false,
|
|
341
|
-
"unlocked_by": "
|
|
341
|
+
"unlocked_by": "two-fer",
|
|
342
342
|
"difficulty": 3,
|
|
343
343
|
"topics": [
|
|
344
344
|
"Strings",
|
|
@@ -384,7 +384,7 @@
|
|
|
384
384
|
"unlocked_by": "raindrops",
|
|
385
385
|
"difficulty": 3,
|
|
386
386
|
"topics": [
|
|
387
|
-
"
|
|
387
|
+
"Strings",
|
|
388
388
|
"Algorithms"
|
|
389
389
|
]
|
|
390
390
|
},
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
"uuid": "4b7b65be-f777-4f64-94a0-4f9832f17a52",
|
|
425
425
|
"slug": "isogram",
|
|
426
426
|
"core": false,
|
|
427
|
-
"unlocked_by": "
|
|
427
|
+
"unlocked_by": "two-fer",
|
|
428
428
|
"difficulty": 3,
|
|
429
429
|
"topics": [
|
|
430
430
|
"Strings",
|
|
@@ -457,7 +457,7 @@
|
|
|
457
457
|
"uuid": "ddfb0a0e-8c58-4b9e-ad62-57d06ef10f5f",
|
|
458
458
|
"slug": "acronym",
|
|
459
459
|
"core": false,
|
|
460
|
-
"unlocked_by": "
|
|
460
|
+
"unlocked_by": "two-fer",
|
|
461
461
|
"difficulty": 4,
|
|
462
462
|
"topics": [
|
|
463
463
|
"Strings",
|
|
@@ -517,7 +517,7 @@
|
|
|
517
517
|
"unlocked_by": "raindrops",
|
|
518
518
|
"difficulty": 4,
|
|
519
519
|
"topics": [
|
|
520
|
-
"
|
|
520
|
+
"Strings",
|
|
521
521
|
"Algorithms"
|
|
522
522
|
]
|
|
523
523
|
},
|
|
@@ -552,7 +552,7 @@
|
|
|
552
552
|
"unlocked_by": "bob",
|
|
553
553
|
"difficulty": 4,
|
|
554
554
|
"topics": [
|
|
555
|
-
"
|
|
555
|
+
"Strings",
|
|
556
556
|
"Algorithms"
|
|
557
557
|
]
|
|
558
558
|
},
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
"unlocked_by": "allergies",
|
|
723
723
|
"difficulty": 5,
|
|
724
724
|
"topics": [
|
|
725
|
-
"
|
|
725
|
+
"Strings",
|
|
726
726
|
"Algorithms"
|
|
727
727
|
]
|
|
728
728
|
},
|
|
@@ -733,7 +733,7 @@
|
|
|
733
733
|
"unlocked_by": "markdown",
|
|
734
734
|
"difficulty": 5,
|
|
735
735
|
"topics": [
|
|
736
|
-
"
|
|
736
|
+
"Strings",
|
|
737
737
|
"Files",
|
|
738
738
|
"Searching"
|
|
739
739
|
]
|
|
@@ -813,7 +813,7 @@
|
|
|
813
813
|
"difficulty": 5,
|
|
814
814
|
"topics": [
|
|
815
815
|
"Globalization",
|
|
816
|
-
"
|
|
816
|
+
"Strings",
|
|
817
817
|
"Refactoring"
|
|
818
818
|
]
|
|
819
819
|
},
|
|
@@ -902,7 +902,7 @@
|
|
|
902
902
|
"unlocked_by": "kindergarten-garden",
|
|
903
903
|
"difficulty": 6,
|
|
904
904
|
"topics": [
|
|
905
|
-
"
|
|
905
|
+
"Strings",
|
|
906
906
|
"Parsing"
|
|
907
907
|
]
|
|
908
908
|
},
|
|
@@ -1081,7 +1081,7 @@
|
|
|
1081
1081
|
"unlocked_by": "saddle-points",
|
|
1082
1082
|
"difficulty": 8,
|
|
1083
1083
|
"topics": [
|
|
1084
|
-
"
|
|
1084
|
+
"Strings",
|
|
1085
1085
|
"Algorithms"
|
|
1086
1086
|
]
|
|
1087
1087
|
},
|
|
@@ -1114,8 +1114,7 @@
|
|
|
1114
1114
|
"difficulty": 8,
|
|
1115
1115
|
"topics": [
|
|
1116
1116
|
"Strings",
|
|
1117
|
-
"Transforming"
|
|
1118
|
-
"Text formatting"
|
|
1117
|
+
"Transforming"
|
|
1119
1118
|
]
|
|
1120
1119
|
},
|
|
1121
1120
|
{
|
|
@@ -33,14 +33,14 @@ public static class House
|
|
|
33
33
|
"belonged to",
|
|
34
34
|
""
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
public static string
|
|
36
|
+
|
|
37
|
+
public static string Verses(int first, int last)
|
|
38
38
|
{
|
|
39
|
-
var
|
|
40
|
-
return string.Join("\n\n", Enumerable.Range(
|
|
39
|
+
var numberOfVerses = last - first + 1;
|
|
40
|
+
return string.Join("\n\n", Enumerable.Range(first, numberOfVerses).Select(Verse));
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
public static string Verse(int number)
|
|
44
44
|
{
|
|
45
45
|
return string.Join("\n", Enumerable.Range(1, number).Reverse().Select(index => Line(number, index)));
|
|
46
46
|
}
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
public static class House
|
|
4
4
|
{
|
|
5
|
-
public static string
|
|
5
|
+
public static string Verse(int number)
|
|
6
|
+
{
|
|
7
|
+
throw new NotImplementedException("You need to implement this function.");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
public static string Verses(int first, int last)
|
|
6
11
|
{
|
|
7
12
|
throw new NotImplementedException("You need to implement this function.");
|
|
8
13
|
}
|
|
@@ -1,11 +1,215 @@
|
|
|
1
|
-
|
|
1
|
+
// This file was auto-generated based on version 1.0.0 of the canonical data.
|
|
2
|
+
|
|
3
|
+
using Xunit;
|
|
2
4
|
|
|
3
5
|
public class HouseTest
|
|
4
6
|
{
|
|
5
7
|
[Fact]
|
|
6
|
-
public void
|
|
8
|
+
public void Verse_one_the_house_that_jack_built()
|
|
9
|
+
{
|
|
10
|
+
var expected = "This is the house that Jack built.";
|
|
11
|
+
Assert.Equal(expected, House.Verse(1));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
[Fact(Skip = "Remove to run test")]
|
|
15
|
+
public void Verse_two_the_malt_that_lay()
|
|
16
|
+
{
|
|
17
|
+
var expected =
|
|
18
|
+
"This is the malt\n" +
|
|
19
|
+
"that lay in the house that Jack built.";
|
|
20
|
+
Assert.Equal(expected, House.Verse(2));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[Fact(Skip = "Remove to run test")]
|
|
24
|
+
public void Verse_three_the_rat_that_ate()
|
|
25
|
+
{
|
|
26
|
+
var expected =
|
|
27
|
+
"This is the rat\n" +
|
|
28
|
+
"that ate the malt\n" +
|
|
29
|
+
"that lay in the house that Jack built.";
|
|
30
|
+
Assert.Equal(expected, House.Verse(3));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
[Fact(Skip = "Remove to run test")]
|
|
34
|
+
public void Verse_four_the_cat_that_killed()
|
|
35
|
+
{
|
|
36
|
+
var expected =
|
|
37
|
+
"This is the cat\n" +
|
|
38
|
+
"that killed the rat\n" +
|
|
39
|
+
"that ate the malt\n" +
|
|
40
|
+
"that lay in the house that Jack built.";
|
|
41
|
+
Assert.Equal(expected, House.Verse(4));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[Fact(Skip = "Remove to run test")]
|
|
45
|
+
public void Verse_five_the_dog_that_worried()
|
|
46
|
+
{
|
|
47
|
+
var expected =
|
|
48
|
+
"This is the dog\n" +
|
|
49
|
+
"that worried the cat\n" +
|
|
50
|
+
"that killed the rat\n" +
|
|
51
|
+
"that ate the malt\n" +
|
|
52
|
+
"that lay in the house that Jack built.";
|
|
53
|
+
Assert.Equal(expected, House.Verse(5));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
[Fact(Skip = "Remove to run test")]
|
|
57
|
+
public void Verse_six_the_cow_with_the_crumpled_horn()
|
|
58
|
+
{
|
|
59
|
+
var expected =
|
|
60
|
+
"This is the cow with the crumpled horn\n" +
|
|
61
|
+
"that tossed the dog\n" +
|
|
62
|
+
"that worried the cat\n" +
|
|
63
|
+
"that killed the rat\n" +
|
|
64
|
+
"that ate the malt\n" +
|
|
65
|
+
"that lay in the house that Jack built.";
|
|
66
|
+
Assert.Equal(expected, House.Verse(6));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
[Fact(Skip = "Remove to run test")]
|
|
70
|
+
public void Verse_seven_the_maiden_all_forlorn()
|
|
71
|
+
{
|
|
72
|
+
var expected =
|
|
73
|
+
"This is the maiden all forlorn\n" +
|
|
74
|
+
"that milked the cow with the crumpled horn\n" +
|
|
75
|
+
"that tossed the dog\n" +
|
|
76
|
+
"that worried the cat\n" +
|
|
77
|
+
"that killed the rat\n" +
|
|
78
|
+
"that ate the malt\n" +
|
|
79
|
+
"that lay in the house that Jack built.";
|
|
80
|
+
Assert.Equal(expected, House.Verse(7));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[Fact(Skip = "Remove to run test")]
|
|
84
|
+
public void Verse_eight_the_man_all_tattered_and_torn()
|
|
85
|
+
{
|
|
86
|
+
var expected =
|
|
87
|
+
"This is the man all tattered and torn\n" +
|
|
88
|
+
"that kissed the maiden all forlorn\n" +
|
|
89
|
+
"that milked the cow with the crumpled horn\n" +
|
|
90
|
+
"that tossed the dog\n" +
|
|
91
|
+
"that worried the cat\n" +
|
|
92
|
+
"that killed the rat\n" +
|
|
93
|
+
"that ate the malt\n" +
|
|
94
|
+
"that lay in the house that Jack built.";
|
|
95
|
+
Assert.Equal(expected, House.Verse(8));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[Fact(Skip = "Remove to run test")]
|
|
99
|
+
public void Verse_nine_the_priest_all_shaven_and_shorn()
|
|
100
|
+
{
|
|
101
|
+
var expected =
|
|
102
|
+
"This is the priest all shaven and shorn\n" +
|
|
103
|
+
"that married the man all tattered and torn\n" +
|
|
104
|
+
"that kissed the maiden all forlorn\n" +
|
|
105
|
+
"that milked the cow with the crumpled horn\n" +
|
|
106
|
+
"that tossed the dog\n" +
|
|
107
|
+
"that worried the cat\n" +
|
|
108
|
+
"that killed the rat\n" +
|
|
109
|
+
"that ate the malt\n" +
|
|
110
|
+
"that lay in the house that Jack built.";
|
|
111
|
+
Assert.Equal(expected, House.Verse(9));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
[Fact(Skip = "Remove to run test")]
|
|
115
|
+
public void Verse_10_the_rooster_that_crowed_in_the_morn()
|
|
116
|
+
{
|
|
117
|
+
var expected =
|
|
118
|
+
"This is the rooster that crowed in the morn\n" +
|
|
119
|
+
"that woke the priest all shaven and shorn\n" +
|
|
120
|
+
"that married the man all tattered and torn\n" +
|
|
121
|
+
"that kissed the maiden all forlorn\n" +
|
|
122
|
+
"that milked the cow with the crumpled horn\n" +
|
|
123
|
+
"that tossed the dog\n" +
|
|
124
|
+
"that worried the cat\n" +
|
|
125
|
+
"that killed the rat\n" +
|
|
126
|
+
"that ate the malt\n" +
|
|
127
|
+
"that lay in the house that Jack built.";
|
|
128
|
+
Assert.Equal(expected, House.Verse(10));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
[Fact(Skip = "Remove to run test")]
|
|
132
|
+
public void Verse_11_the_farmer_sowing_his_corn()
|
|
133
|
+
{
|
|
134
|
+
var expected =
|
|
135
|
+
"This is the farmer sowing his corn\n" +
|
|
136
|
+
"that kept the rooster that crowed in the morn\n" +
|
|
137
|
+
"that woke the priest all shaven and shorn\n" +
|
|
138
|
+
"that married the man all tattered and torn\n" +
|
|
139
|
+
"that kissed the maiden all forlorn\n" +
|
|
140
|
+
"that milked the cow with the crumpled horn\n" +
|
|
141
|
+
"that tossed the dog\n" +
|
|
142
|
+
"that worried the cat\n" +
|
|
143
|
+
"that killed the rat\n" +
|
|
144
|
+
"that ate the malt\n" +
|
|
145
|
+
"that lay in the house that Jack built.";
|
|
146
|
+
Assert.Equal(expected, House.Verse(11));
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
[Fact(Skip = "Remove to run test")]
|
|
150
|
+
public void Verse_12_the_horse_and_the_hound_and_the_horn()
|
|
151
|
+
{
|
|
152
|
+
var expected =
|
|
153
|
+
"This is the horse and the hound and the horn\n" +
|
|
154
|
+
"that belonged to the farmer sowing his corn\n" +
|
|
155
|
+
"that kept the rooster that crowed in the morn\n" +
|
|
156
|
+
"that woke the priest all shaven and shorn\n" +
|
|
157
|
+
"that married the man all tattered and torn\n" +
|
|
158
|
+
"that kissed the maiden all forlorn\n" +
|
|
159
|
+
"that milked the cow with the crumpled horn\n" +
|
|
160
|
+
"that tossed the dog\n" +
|
|
161
|
+
"that worried the cat\n" +
|
|
162
|
+
"that killed the rat\n" +
|
|
163
|
+
"that ate the malt\n" +
|
|
164
|
+
"that lay in the house that Jack built.";
|
|
165
|
+
Assert.Equal(expected, House.Verse(12));
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
[Fact(Skip = "Remove to run test")]
|
|
169
|
+
public void Multiple_verses()
|
|
7
170
|
{
|
|
8
|
-
|
|
171
|
+
var expected =
|
|
172
|
+
"This is the cat\n" +
|
|
173
|
+
"that killed the rat\n" +
|
|
174
|
+
"that ate the malt\n" +
|
|
175
|
+
"that lay in the house that Jack built.\n" +
|
|
176
|
+
"\n" +
|
|
177
|
+
"This is the dog\n" +
|
|
178
|
+
"that worried the cat\n" +
|
|
179
|
+
"that killed the rat\n" +
|
|
180
|
+
"that ate the malt\n" +
|
|
181
|
+
"that lay in the house that Jack built.\n" +
|
|
182
|
+
"\n" +
|
|
183
|
+
"This is the cow with the crumpled horn\n" +
|
|
184
|
+
"that tossed the dog\n" +
|
|
185
|
+
"that worried the cat\n" +
|
|
186
|
+
"that killed the rat\n" +
|
|
187
|
+
"that ate the malt\n" +
|
|
188
|
+
"that lay in the house that Jack built.\n" +
|
|
189
|
+
"\n" +
|
|
190
|
+
"This is the maiden all forlorn\n" +
|
|
191
|
+
"that milked the cow with the crumpled horn\n" +
|
|
192
|
+
"that tossed the dog\n" +
|
|
193
|
+
"that worried the cat\n" +
|
|
194
|
+
"that killed the rat\n" +
|
|
195
|
+
"that ate the malt\n" +
|
|
196
|
+
"that lay in the house that Jack built.\n" +
|
|
197
|
+
"\n" +
|
|
198
|
+
"This is the man all tattered and torn\n" +
|
|
199
|
+
"that kissed the maiden all forlorn\n" +
|
|
200
|
+
"that milked the cow with the crumpled horn\n" +
|
|
201
|
+
"that tossed the dog\n" +
|
|
202
|
+
"that worried the cat\n" +
|
|
203
|
+
"that killed the rat\n" +
|
|
204
|
+
"that ate the malt\n" +
|
|
205
|
+
"that lay in the house that Jack built.";
|
|
206
|
+
Assert.Equal(expected, House.Verses(4, 8));
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
[Fact(Skip = "Remove to run test")]
|
|
210
|
+
public void Full_rhyme()
|
|
211
|
+
{
|
|
212
|
+
var expected =
|
|
9
213
|
"This is the house that Jack built.\n" +
|
|
10
214
|
"\n" +
|
|
11
215
|
"This is the malt\n" +
|
|
@@ -95,7 +299,6 @@ public void Rhyme_is_correct()
|
|
|
95
299
|
"that killed the rat\n" +
|
|
96
300
|
"that ate the malt\n" +
|
|
97
301
|
"that lay in the house that Jack built.";
|
|
98
|
-
|
|
99
|
-
Assert.Equal(expected, House.Rhyme());
|
|
302
|
+
Assert.Equal(expected, House.Verses(1, 12));
|
|
100
303
|
}
|
|
101
304
|
}
|