Python: kindergarten_garden
This commit is contained in:
parent
afc981a9ce
commit
b094d15ff7
4 changed files with 210 additions and 0 deletions
77
python/kindergarten-garden/kindergarten_garden_test.py
Normal file
77
python/kindergarten-garden/kindergarten_garden_test.py
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
import unittest
|
||||
|
||||
from kindergarten_garden import Garden
|
||||
|
||||
# Tests adapted from `problem-specifications//canonical-data.json`
|
||||
|
||||
|
||||
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_first_student_s_garden(self):
|
||||
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
|
||||
self.assertEqual(
|
||||
garden.plants("Alice"), ["Violets", "Radishes", "Violets", "Radishes"]
|
||||
)
|
||||
|
||||
def test_full_garden_second_student_s_garden(self):
|
||||
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
|
||||
self.assertEqual(garden.plants("Bob"), ["Clover", "Grass", "Clover", "Clover"])
|
||||
|
||||
def test_full_garden_second_to_last_student_s_garden(self):
|
||||
garden = Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV")
|
||||
self.assertEqual(
|
||||
garden.plants("Kincaid"), ["Grass", "Clover", "Clover", "Grass"]
|
||||
)
|
||||
|
||||
def test_full_garden_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"]
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue