-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathkindergarten_garden_test.py
More file actions
121 lines (98 loc) · 4.73 KB
/
kindergarten_garden_test.py
File metadata and controls
121 lines (98 loc) · 4.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# These tests are auto-generated with test data from:
# https://github.com/exercism/problem-specifications/tree/main/exercises/kindergarten-garden/canonical-data.json
# File last updated on 2023-07-19
import unittest
from kindergarten_garden import (
Garden,
)
class KindergartenGardenTest(unittest.TestCase):
def test_partial_garden_garden_with_single_student(self):
garden = Garden("RC\nGG")
self.assertEqual(
garden.plants("Alice"), ["Radishes", "Clover", "Grass", "Grass"]
)
def test_partial_garden_different_garden_with_single_student(self):
garden = Garden("VC\nRC")
self.assertEqual(
garden.plants("Alice"), ["Violets", "Clover", "Radishes", "Clover"]
)
def test_partial_garden_garden_with_two_students(self):
garden = Garden("VVCG\nVVRC")
self.assertEqual(
garden.plants("Bob"), ["Clover", "Grass", "Radishes", "Clover"]
)
def test_partial_garden_second_student_s_garden(self):
garden = Garden("VVCCGG\nVVCCGG")
self.assertEqual(garden.plants("Bob"), ["Clover", "Clover", "Clover", "Clover"])
def test_partial_garden_third_student_s_garden(self):
garden = Garden("VVCCGG\nVVCCGG")
self.assertEqual(garden.plants("Charlie"), ["Grass", "Grass", "Grass", "Grass"])
def test_full_garden_for_alice_first_student_s_garden(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Alice"), ["Violets", "Radishes", "Violets", "Radishes"]
)
def test_full_garden_for_bob_second_student_s_garden(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(garden.plants("Bob"), ["Clover", "Grass", "Clover", "Clover"])
def test_full_garden_for_charlie(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Charlie"), ["Violets", "Violets", "Clover", "Grass"]
)
def test_full_garden_for_david(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("David"), ["Radishes", "Violets", "Clover", "Radishes"]
)
def test_full_garden_for_eve(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(garden.plants("Eve"), ["Clover", "Grass", "Radishes", "Grass"])
def test_full_garden_for_fred(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Fred"), ["Grass", "Clover", "Violets", "Clover"]
)
def test_full_garden_for_ginny(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(garden.plants("Ginny"), ["Clover", "Grass", "Grass", "Clover"])
def test_full_garden_for_harriet(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Harriet"), ["Violets", "Radishes", "Radishes", "Violets"]
)
def test_full_garden_for_ileana(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Ileana"), ["Grass", "Clover", "Violets", "Clover"]
)
def test_full_garden_for_joseph(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Joseph"), ["Violets", "Clover", "Violets", "Grass"]
)
def test_full_garden_for_kincaid_second_to_last_student_s_garden(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Kincaid"), ["Grass", "Clover", "Clover", "Grass"]
)
def test_full_garden_for_larry_last_student_s_garden(self):
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
self.assertEqual(
garden.plants("Larry"), ["Grass", "Violets", "Clover", "Violets"]
)
# Additional tests for this track
def test_students_are_unordered_first_student(self):
garden = Garden(
"VCRRGVRG\nRVGCCGCV", students=["Samantha", "Patricia", "Xander", "Roger"]
)
self.assertEqual(
garden.plants("Patricia"), ["Violets", "Clover", "Radishes", "Violets"]
)
def test_students_are_unordered_last_student(self):
garden = Garden(
"VCRRGVRG\nRVGCCGCV", students=["Samantha", "Patricia", "Xander", "Roger"]
)
self.assertEqual(
garden.plants("Xander"), ["Radishes", "Grass", "Clover", "Violets"]
)