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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/csharp/exercises/food-chain/Example.cs +2 -2
  4. data/tracks/csharp/exercises/food-chain/FoodChain.cs +2 -2
  5. data/tracks/csharp/exercises/food-chain/FoodChainTest.cs +150 -73
  6. data/tracks/csharp/exercises/luhn/LuhnTest.cs +5 -8
  7. data/tracks/csharp/generators/Data/CanonicalDataValue.cs +10 -0
  8. data/tracks/csharp/generators/Exercises/FoodChainExercise.cs +27 -0
  9. data/tracks/csharp/generators/Exercises/NthPrimeExercise.cs +1 -3
  10. data/tracks/csharp/generators/Methods/EqualityTestMethodGenerator.cs +25 -1
  11. data/tracks/csharp/generators/Methods/TestMethodGenerator.cs +16 -4
  12. data/tracks/csharp/generators/Methods/TestMethodOptions.cs +1 -0
  13. data/tracks/csharp/generators/Methods/TestMethodRenderer.cs +15 -7
  14. data/tracks/csharp/generators/Program.cs +2 -0
  15. data/tracks/java/exercises/difference-of-squares/src/example/java/{Difference.java → DifferenceOfSquaresCalculator.java} +4 -4
  16. data/tracks/java/exercises/difference-of-squares/src/main/java/DifferenceOfSquaresCalculator.java +5 -0
  17. data/tracks/java/exercises/difference-of-squares/src/test/java/{DifferenceTest.java → DifferenceOfSquaresCalculatorTest.java} +18 -11
  18. data/tracks/java/exercises/sum-of-multiples/src/example/java/SumOfMultiples.java +17 -9
  19. data/tracks/java/exercises/sum-of-multiples/src/test/java/SumOfMultiplesTest.java +73 -88
  20. data/tracks/perl6/.travis.yml +3 -0
  21. data/tracks/python/exercises/bob/bob_test.py +47 -71
  22. data/tracks/python/exercises/leap/leap_test.py +10 -11
  23. data/tracks/python/exercises/pangram/pangram_test.py +16 -16
  24. data/tracks/python/exercises/prime-factors/prime_factors_test.py +11 -21
  25. data/tracks/python/exercises/sieve/sieve_test.py +32 -24
  26. data/tracks/swift/.gitignore +3 -0
  27. data/tracks/swift/.swiftlint.yml +4 -2
  28. data/tracks/swift/exercises/kindergarten-garden/Sources/KindergartenGardenExample.swift +4 -4
  29. data/tracks/swift/exercises/kindergarten-garden/Tests/KindergartenGardenTests/KindergartenGardenTests.swift +25 -25
  30. data/tracks/swift/exercises/meetup/Sources/MeetupExample.swift +6 -6
  31. data/tracks/swift/exercises/poker/Sources/PokerExample.swift +12 -14
  32. data/tracks/swift/exercises/robot-simulator/Sources/RobotSimulatorExample.swift +6 -6
  33. data/tracks/swift/exercises/robot-simulator/Tests/RobotSimulatorTests/RobotSimulatorTests.swift +4 -4
  34. metadata +7 -5
  35. data/tracks/java/exercises/difference-of-squares/src/main/java/Difference.java +0 -5
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  sudo: false
3
3
  language: perl6
4
+ perl6:
5
+ - latest
6
+ - '2017.01' # Latest Rakudo Star
4
7
  install:
5
8
  - rakudobrew build zef
6
9
  - zef install JSON::Tiny
@@ -1,123 +1,99 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- from __future__ import unicode_literals
4
1
  import unittest
5
2
 
6
3
  import bob
7
4
 
8
5
 
9
- class BobTests(unittest.TestCase):
6
+ # test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
10
7
 
8
+ class BobTests(unittest.TestCase):
11
9
  def test_stating_something(self):
12
- self.assertEqual(
13
- 'Whatever.',
14
- bob.hey('Tom-ay-to, tom-aaaah-to.')
15
- )
10
+ self.assertEqual(bob.hey("Tom-ay-to, tom-aaaah-to."), "Whatever.")
16
11
 
17
12
  def test_shouting(self):
18
- self.assertEqual(
19
- 'Whoa, chill out!',
20
- bob.hey('WATCH OUT!')
21
- )
13
+ self.assertEqual(bob.hey("WATCH OUT!"), "Whoa, chill out!")
14
+
15
+ def test_shouting_gibberish(self):
16
+ self.assertEqual(bob.hey("FCECDFCAAB"), "Whoa, chill out!")
22
17
 
23
18
  def test_asking_a_question(self):
24
19
  self.assertEqual(
25
- 'Sure.',
26
- bob.hey('Does this cryogenic chamber make me look fat?')
27
- )
20
+ bob.hey("Does this cryogenic chamber make me look fat?"), "Sure.")
28
21
 
29
22
  def test_asking_a_numeric_question(self):
30
- self.assertEqual(
31
- 'Sure.',
32
- bob.hey('You are, what, like 15?')
33
- )
23
+ self.assertEqual(bob.hey("You are, what, like 15?"), "Sure.")
24
+
25
+ def test_asking_gibberish(self):
26
+ self.assertEqual(bob.hey("fffbbcbeab?"), "Sure.")
34
27
 
35
28
  def test_talking_forcefully(self):
36
29
  self.assertEqual(
37
- 'Whatever.',
38
- bob.hey("Let's go make out behind the gym!")
39
- )
30
+ bob.hey("Let's go make out behind the gym!"), "Whatever.")
40
31
 
41
32
  def test_using_acronyms_in_regular_speech(self):
42
33
  self.assertEqual(
43
- 'Whatever.', bob.hey("It's OK if you don't want to go to the DMV.")
44
- )
34
+ bob.hey("It's OK if you don't want to go to the DMV."),
35
+ "Whatever.")
45
36
 
46
- def test_forceful_questions(self):
37
+ def test_forceful_question(self):
47
38
  self.assertEqual(
48
- 'Whoa, chill out!', bob.hey('WHAT THE HELL WERE YOU THINKING?')
49
- )
39
+ bob.hey("WHAT THE HELL WERE YOU THINKING?"), "Whoa, chill out!")
50
40
 
51
41
  def test_shouting_numbers(self):
52
- self.assertEqual(
53
- 'Whoa, chill out!', bob.hey('1, 2, 3 GO!')
54
- )
42
+ self.assertEqual(bob.hey("1, 2, 3 GO!"), "Whoa, chill out!")
55
43
 
56
44
  def test_only_numbers(self):
57
- self.assertEqual(
58
- 'Whatever.', bob.hey('1, 2, 3')
59
- )
45
+ self.assertEqual(bob.hey("1, 2, 3"), "Whatever.")
60
46
 
61
47
  def test_question_with_only_numbers(self):
62
- self.assertEqual(
63
- 'Sure.', bob.hey('4?')
64
- )
48
+ self.assertEqual(bob.hey("4?"), "Sure.")
65
49
 
66
50
  def test_shouting_with_special_characters(self):
67
51
  self.assertEqual(
68
- 'Whoa, chill out!',
69
- bob.hey('ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!')
70
- )
71
-
72
- def test_shouting_with_umlauts(self):
73
- self.assertEqual(
74
- 'Whoa, chill out!', bob.hey('ÜMLÄÜTS!')
75
- )
76
-
77
- def test_calmly_speaking_with_umlauts(self):
78
- self.assertEqual(
79
- 'Whatever.', bob.hey('ÜMLäÜTS!')
80
- )
52
+ bob.hey("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"),
53
+ "Whoa, chill out!")
81
54
 
82
55
  def test_shouting_with_no_exclamation_mark(self):
83
- self.assertEqual(
84
- 'Whoa, chill out!', bob.hey('I HATE YOU')
85
- )
56
+ self.assertEqual(bob.hey("I HATE YOU"), "Whoa, chill out!")
86
57
 
87
58
  def test_statement_containing_question_mark(self):
88
59
  self.assertEqual(
89
- 'Whatever.', bob.hey('Ending with ? means a question.')
90
- )
60
+ bob.hey("Ending with ? means a question."), "Whatever.")
61
+
62
+ def test_non_letters_with_question(self):
63
+ self.assertEqual(bob.hey(":) ?"), "Sure.")
91
64
 
92
65
  def test_prattling_on(self):
93
66
  self.assertEqual(
94
- 'Sure.', bob.hey("Wait! Hang on. Are you going to be OK?")
95
- )
67
+ bob.hey("Wait! Hang on. Are you going to be OK?"), "Sure.")
96
68
 
97
69
  def test_silence(self):
98
- self.assertEqual(
99
- 'Fine. Be that way!', bob.hey('')
100
- )
70
+ self.assertEqual(bob.hey(""), "Fine. Be that way!")
101
71
 
102
72
  def test_prolonged_silence(self):
103
- self.assertEqual(
104
- 'Fine. Be that way!', bob.hey(' \t')
105
- )
73
+ self.assertEqual(bob.hey(" "), "Fine. Be that way!")
74
+
75
+ def test_alternate_silence(self):
76
+ self.assertEqual(bob.hey("\t\t\t\t\t\t\t\t\t\t"), "Fine. Be that way!")
106
77
 
107
- def test_starts_with_whitespace(self):
78
+ def test_multiple_line_question(self):
108
79
  self.assertEqual(
109
- 'Whatever.', bob.hey(' hmmmmmmm...')
110
- )
80
+ bob.hey("\nDoes this cryogenic chamber make me look fat?\nno"),
81
+ "Whatever.")
111
82
 
112
- def test_ends_with_whitespace(self):
83
+ def test_starting_with_whitespace(self):
84
+ self.assertEqual(bob.hey(" hmmmmmmm..."), "Whatever.")
85
+
86
+ def test_ending_with_whitespace(self):
113
87
  self.assertEqual(
114
- 'Sure.', bob.hey('What if we end with whitespace? ')
115
- )
88
+ bob.hey("Okay if like my spacebar quite a bit? "), "Sure.")
89
+
90
+ def test_other_whitespace(self):
91
+ self.assertEqual(bob.hey("\n\r \t"), "Fine. Be that way!")
116
92
 
117
- def test_non_question_ends_with_whitespace(self):
93
+ def test_non_question_ending_with_whitespace(self):
118
94
  self.assertEqual(
119
- 'Whatever.', bob.hey('This is a statement with trailing whitespace ')
120
- )
95
+ bob.hey("This is a statement ending with whitespace "),
96
+ "Whatever.")
121
97
 
122
98
 
123
99
  if __name__ == '__main__':
@@ -3,21 +3,20 @@ import unittest
3
3
  from leap import is_leap_year
4
4
 
5
5
 
6
- class YearTest(unittest.TestCase):
7
- def test_leap_year(self):
8
- self.assertIs(is_leap_year(1996), True)
6
+ # test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
9
7
 
10
- def test_non_leap_year(self):
11
- self.assertIs(is_leap_year(1997), False)
8
+ class YearTest(unittest.TestCase):
9
+ def test_year_not_divisible_by_4(self):
10
+ self.assertFalse(is_leap_year(2015))
12
11
 
13
- def test_non_leap_even_year(self):
14
- self.assertIs(is_leap_year(1998), False)
12
+ def test_year_divisible_by_4_not_divisible_by_100(self):
13
+ self.assertTrue(is_leap_year(2016))
15
14
 
16
- def test_century(self):
17
- self.assertIs(is_leap_year(1900), False)
15
+ def test_year_divisible_by_100_not_divisible_by_400(self):
16
+ self.assertFalse(is_leap_year(2100))
18
17
 
19
- def test_exceptional_century(self):
20
- self.assertIs(is_leap_year(2400), True)
18
+ def test_year_divisible_by_400(self):
19
+ self.assertTrue(is_leap_year(2000))
21
20
 
22
21
 
23
22
  if __name__ == '__main__':
@@ -1,45 +1,45 @@
1
- # -*- coding: utf-8 -*-
2
-
3
1
  import unittest
4
2
 
5
3
  from pangram import is_pangram
6
4
 
7
5
 
8
- class PangramTests(unittest.TestCase):
6
+ # test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
9
7
 
10
- def test_empty_string(self):
8
+ class PangramTests(unittest.TestCase):
9
+ def test_sentence_empty(self):
11
10
  self.assertFalse(is_pangram(''))
12
11
 
13
- def test_valid_pangram(self):
12
+ def test_pangram_with_only_lower_case(self):
14
13
  self.assertTrue(
15
14
  is_pangram('the quick brown fox jumps over the lazy dog'))
16
15
 
17
- def test_missing_x(self):
18
- self.assertFalse(is_pangram('a quick movement of the enemy will '
19
- 'jeopardize five gunboats'))
16
+ def test_missing_character_x(self):
17
+ self.assertFalse(
18
+ is_pangram('a quick movement of the enemy will '
19
+ 'jeopardize five gunboats'))
20
20
 
21
- def test_another_missing_character(self):
21
+ def test_another_missing_character_x(self):
22
22
  self.assertFalse(
23
23
  is_pangram('the quick brown fish jumps over the lazy dog'))
24
24
 
25
25
  def test_pangram_with_underscores(self):
26
26
  self.assertTrue(
27
- is_pangram("the_quick_brown_fox_jumps_over_the_lazy_dog"))
27
+ is_pangram('the_quick_brown_fox_jumps_over_the_lazy_dog'))
28
28
 
29
29
  def test_pangram_with_numbers(self):
30
30
  self.assertTrue(
31
- is_pangram("the 1 quick brown fox jumps over the 2 lazy dogs"))
31
+ is_pangram('the 1 quick brown fox jumps over the 2 lazy dogs'))
32
32
 
33
33
  def test_missing_letters_replaced_by_numbers(self):
34
34
  self.assertFalse(
35
- is_pangram("7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog"))
35
+ is_pangram('7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog'))
36
36
 
37
- def test_mixedcase_and_punctuation(self):
37
+ def test_pangram_with_mixedcase_and_punctuation(self):
38
38
  self.assertTrue(is_pangram('"Five quacking Zephyrs jolt my wax bed."'))
39
39
 
40
- def test_unchecked_german_umlaute(self):
41
- self.assertTrue(is_pangram('Victor jagt zwölf Boxkämpfer quer über den'
42
- ' großen Sylter Deich.'))
40
+ def test_upper_and_lower_case_versions_of_the_same_character(self):
41
+ self.assertFalse(
42
+ is_pangram('the quick brown fox jumped over the lazy FOX'))
43
43
 
44
44
 
45
45
  if __name__ == '__main__':
@@ -3,38 +3,28 @@ import unittest
3
3
  from prime_factors import prime_factors
4
4
 
5
5
 
6
+ # test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
7
+
6
8
  class PrimeFactorsTest(unittest.TestCase):
7
- def test_1(self):
9
+ def test_no_factors(self):
8
10
  self.assertEqual(prime_factors(1), [])
9
11
 
10
- def test_2(self):
12
+ def test_prime_number(self):
11
13
  self.assertEqual(prime_factors(2), [2])
12
14
 
13
- def test_3(self):
14
- self.assertEqual(prime_factors(3), [3])
15
-
16
- def test_4(self):
17
- self.assertEqual(prime_factors(4), [2, 2])
18
-
19
- def test_6(self):
20
- self.assertEqual(prime_factors(6), [2, 3])
21
-
22
- def test_8(self):
23
- self.assertEqual(prime_factors(8), [2, 2, 2])
24
-
25
- def test_9(self):
15
+ def test_square_of_a_prime(self):
26
16
  self.assertEqual(prime_factors(9), [3, 3])
27
17
 
28
- def test_27(self):
29
- self.assertEqual(prime_factors(27), [3, 3, 3])
18
+ def test_cube_of_a_prime(self):
19
+ self.assertEqual(prime_factors(8), [2, 2, 2])
30
20
 
31
- def test_625(self):
32
- self.assertEqual(prime_factors(625), [5, 5, 5, 5])
21
+ def test_product_of_primes_and_non_primes(self):
22
+ self.assertEqual(prime_factors(12), [2, 2, 3])
33
23
 
34
- def test_901255(self):
24
+ def test_product_of_primes(self):
35
25
  self.assertEqual(prime_factors(901255), [5, 17, 23, 461])
36
26
 
37
- def test_93819012551(self):
27
+ def test_factors_include_a_large_prime(self):
38
28
  self.assertEqual(prime_factors(93819012551), [11, 9539, 894119])
39
29
 
40
30
 
@@ -3,31 +3,39 @@ import unittest
3
3
  from sieve import sieve
4
4
 
5
5
 
6
+ # test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
7
+
6
8
  class SieveTest(unittest.TestCase):
7
- def test_a_few_primes(self):
8
- expected = [2, 3, 5, 7]
9
- self.assertEqual(expected, sieve(10))
10
-
11
- def test_prime_limit(self):
12
- expected = [2, 3, 5, 7]
13
- self.assertEqual(expected, sieve(7))
14
-
15
- def test_primes(self):
16
- expected = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,
17
- 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109,
18
- 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179,
19
- 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241,
20
- 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,
21
- 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389,
22
- 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461,
23
- 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547,
24
- 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617,
25
- 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691,
26
- 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773,
27
- 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859,
28
- 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947,
29
- 953, 967, 971, 977, 983, 991, 997]
30
- self.assertEqual(expected, sieve(1000))
9
+ def test_no_primes_under_two(self):
10
+ self.assertEqual(sieve(1), [])
11
+
12
+ def test_find_first_prime(self):
13
+ self.assertEqual(sieve(2), [2])
14
+
15
+ def test_find_primes_up_to_10(self):
16
+ self.assertEqual(sieve(10), [2, 3, 5, 7])
17
+
18
+ def test_limit_is_prime(self):
19
+ self.assertEqual(sieve(13), [2, 3, 5, 7, 11, 13])
20
+
21
+ def test_find_primes_up_to_1000(self):
22
+ self.assertEqual(
23
+ sieve(1000), [
24
+ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
25
+ 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127,
26
+ 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191,
27
+ 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257,
28
+ 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331,
29
+ 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401,
30
+ 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467,
31
+ 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563,
32
+ 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631,
33
+ 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709,
34
+ 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797,
35
+ 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877,
36
+ 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967,
37
+ 971, 977, 983, 991, 997
38
+ ])
31
39
 
32
40
 
33
41
  if __name__ == '__main__':
@@ -20,3 +20,6 @@ DerivedData
20
20
  *.ipa
21
21
  *.xcuserstate
22
22
  .DS_Store
23
+
24
+ #Idea IDE
25
+ .idea
@@ -3,11 +3,13 @@ identifier_name:
3
3
  warning: 1
4
4
  error: 0
5
5
 
6
+ large_tuple:
7
+ warning: 5
8
+ error: 6
9
+
6
10
  colon:
7
11
  apply_to_dictionaries: false
8
12
 
9
- force_try: warning
10
-
11
13
  opt_in_rules:
12
14
  - vertical_whitespace
13
15
  - closure_spacing
@@ -1,10 +1,10 @@
1
1
  import Foundation
2
2
 
3
3
  enum Plant: String {
4
- case Grass = "G"
5
- case Clover = "C"
6
- case Radishes = "R"
7
- case Violets = "V"
4
+ case grass = "G"
5
+ case clover = "C"
6
+ case radishes = "R"
7
+ case violets = "V"
8
8
  }
9
9
 
10
10
  struct Garden {
@@ -10,100 +10,100 @@ class KindergartenGardenTests: XCTestCase {
10
10
 
11
11
  func testAlicesGarden() {
12
12
  let garden = Garden("RC\nGG")
13
- XCTAssertEqual([.Radishes, .Clover, .Grass, .Grass], garden.plantsForChild("Alice"))
13
+ XCTAssertEqual([.radishes, .clover, .grass, .grass], garden.plantsForChild("Alice"))
14
14
  }
15
15
 
16
16
  func testDifferentGardenForAlice() {
17
17
  let garden = Garden("VC\nRC")
18
- XCTAssertEqual([.Violets, .Clover, .Radishes, .Clover], garden.plantsForChild("Alice"))
18
+ XCTAssertEqual([.violets, .clover, .radishes, .clover], garden.plantsForChild("Alice"))
19
19
  }
20
20
 
21
21
  func testBobsGarden() {
22
22
  let garden = Garden("VVCG\nVVRC")
23
- XCTAssertEqual([.Clover, .Grass, .Radishes, .Clover], garden.plantsForChild("Bob"))
23
+ XCTAssertEqual([.clover, .grass, .radishes, .clover], garden.plantsForChild("Bob"))
24
24
  }
25
25
 
26
26
  func testBobAndCharliesGardens() {
27
27
  let garden = Garden("VVCCGG\nVVCCGG")
28
- XCTAssertEqual([.Clover, .Clover, .Clover, .Clover], garden.plantsForChild("Bob"))
29
- XCTAssertEqual([.Grass, .Grass, .Grass, .Grass], garden.plantsForChild("Charlie"))
28
+ XCTAssertEqual([.clover, .clover, .clover, .clover], garden.plantsForChild("Bob"))
29
+ XCTAssertEqual([.grass, .grass, .grass, .grass], garden.plantsForChild("Charlie"))
30
30
  }
31
31
 
32
32
  // MARK: - Test full garden
33
33
 
34
34
  func testAlice() {
35
- XCTAssertEqual([.Violets, .Radishes, .Violets, .Radishes], fullGarden.plantsForChild("Alice"))
35
+ XCTAssertEqual([.violets, .radishes, .violets, .radishes], fullGarden.plantsForChild("Alice"))
36
36
  }
37
37
 
38
38
  func testBob() {
39
- XCTAssertEqual([.Clover, .Grass, .Clover, .Clover], fullGarden.plantsForChild("Bob"))
39
+ XCTAssertEqual([.clover, .grass, .clover, .clover], fullGarden.plantsForChild("Bob"))
40
40
  }
41
41
 
42
42
  func testCharlie() {
43
- XCTAssertEqual([.Violets, .Violets, .Clover, .Grass], fullGarden.plantsForChild("Charlie"))
43
+ XCTAssertEqual([.violets, .violets, .clover, .grass], fullGarden.plantsForChild("Charlie"))
44
44
  }
45
45
 
46
46
  func testDavid() {
47
- XCTAssertEqual([.Radishes, .Violets, .Clover, .Radishes], fullGarden.plantsForChild("David"))
47
+ XCTAssertEqual([.radishes, .violets, .clover, .radishes], fullGarden.plantsForChild("David"))
48
48
  }
49
49
 
50
50
  func testEve() {
51
- XCTAssertEqual([.Clover, .Grass, .Radishes, .Grass], fullGarden.plantsForChild("Eve"))
51
+ XCTAssertEqual([.clover, .grass, .radishes, .grass], fullGarden.plantsForChild("Eve"))
52
52
  }
53
53
 
54
54
  func testFred() {
55
- XCTAssertEqual([.Grass, .Clover, .Violets, .Clover], fullGarden.plantsForChild("Fred"))
55
+ XCTAssertEqual([.grass, .clover, .violets, .clover], fullGarden.plantsForChild("Fred"))
56
56
  }
57
57
 
58
58
  func testGinny() {
59
- XCTAssertEqual([.Clover, .Grass, .Grass, .Clover], fullGarden.plantsForChild("Ginny"))
59
+ XCTAssertEqual([.clover, .grass, .grass, .clover], fullGarden.plantsForChild("Ginny"))
60
60
  }
61
61
 
62
62
  func testHarriet() {
63
- XCTAssertEqual([.Violets, .Radishes, .Radishes, .Violets], fullGarden.plantsForChild("Harriet"))
63
+ XCTAssertEqual([.violets, .radishes, .radishes, .violets], fullGarden.plantsForChild("Harriet"))
64
64
  }
65
65
 
66
66
  func testIleana() {
67
- XCTAssertEqual([.Grass, .Clover, .Violets, .Clover], fullGarden.plantsForChild("Ileana"))
67
+ XCTAssertEqual([.grass, .clover, .violets, .clover], fullGarden.plantsForChild("Ileana"))
68
68
  }
69
69
 
70
70
  func testJoseph() {
71
- XCTAssertEqual([.Violets, .Clover, .Violets, .Grass], fullGarden.plantsForChild("Joseph"))
71
+ XCTAssertEqual([.violets, .clover, .violets, .grass], fullGarden.plantsForChild("Joseph"))
72
72
  }
73
73
 
74
74
  func testKincaid() {
75
- XCTAssertEqual([.Grass, .Clover, .Clover, .Grass], fullGarden.plantsForChild("Kincaid"))
75
+ XCTAssertEqual([.grass, .clover, .clover, .grass], fullGarden.plantsForChild("Kincaid"))
76
76
  }
77
77
 
78
78
  func testLarry() {
79
- XCTAssertEqual([.Grass, .Violets, .Clover, .Violets], fullGarden.plantsForChild("Larry"))
79
+ XCTAssertEqual([.grass, .violets, .clover, .violets], fullGarden.plantsForChild("Larry"))
80
80
  }
81
81
 
82
82
  // MARK: - Test disordered garden
83
83
 
84
84
  func testPatricia() {
85
- XCTAssertEqual([.Violets, .Clover, .Radishes, .Violets], disorderedGarden.plantsForChild("Patricia"))
85
+ XCTAssertEqual([.violets, .clover, .radishes, .violets], disorderedGarden.plantsForChild("Patricia"))
86
86
  }
87
87
 
88
88
  func testRoger() {
89
- XCTAssertEqual([.Radishes, .Radishes, .Grass, .Clover], disorderedGarden.plantsForChild("Roger"))
89
+ XCTAssertEqual([.radishes, .radishes, .grass, .clover], disorderedGarden.plantsForChild("Roger"))
90
90
  }
91
91
 
92
92
  func testSamantha() {
93
- XCTAssertEqual([.Grass, .Violets, .Clover, .Grass], disorderedGarden.plantsForChild("Samantha"))
93
+ XCTAssertEqual([.grass, .violets, .clover, .grass], disorderedGarden.plantsForChild("Samantha"))
94
94
  }
95
95
 
96
96
  func testXander() {
97
- XCTAssertEqual([.Radishes, .Grass, .Clover, .Violets], disorderedGarden.plantsForChild("Xander"))
97
+ XCTAssertEqual([.radishes, .grass, .clover, .violets], disorderedGarden.plantsForChild("Xander"))
98
98
  }
99
99
 
100
100
  // MARK: - Test two gardens, different students
101
101
 
102
102
  func testBobAndCharliePerGarden() {
103
- XCTAssertEqual([.Radishes, .Radishes, .Grass, .Clover], garden1.plantsForChild("Bob"))
104
- XCTAssertEqual([.Violets, .Clover, .Radishes, .Violets], garden2.plantsForChild("Bob"))
105
- XCTAssertEqual([.Grass, .Violets, .Clover, .Grass], garden1.plantsForChild("Charlie"))
106
- XCTAssertEqual([.Radishes, .Radishes, .Grass, .Clover], garden2.plantsForChild("Charlie"))
103
+ XCTAssertEqual([.radishes, .radishes, .grass, .clover], garden1.plantsForChild("Bob"))
104
+ XCTAssertEqual([.violets, .clover, .radishes, .violets], garden2.plantsForChild("Bob"))
105
+ XCTAssertEqual([.grass, .violets, .clover, .grass], garden1.plantsForChild("Charlie"))
106
+ XCTAssertEqual([.radishes, .radishes, .grass, .clover], garden2.plantsForChild("Charlie"))
107
107
  }
108
108
 
109
109
  static var allTests: [(String, (KindergartenGardenTests) -> () throws -> Void)] {