1919'''
2020
2121import pytest
22- from pyCatSim import Cat , Owner
22+ import pyCatSim as cat
2323
2424class TesthumanOwnerInit :
2525 ''' Test for Owner instantiation '''
2626
2727 def test_init_t0 (self ):
28- cat1 = Cat (name = "Whiskers" )
29- owner1 = Owner (name = "Sasha" , cats_owned = cat1 )
28+ cat1 = cat . Cat (name = "Whiskers" )
29+ owner1 = cat . Owner (name = "Sasha" , cats_owned = cat1 )
3030
3131 assert owner1 .name == 'Sasha'
3232 assert type (owner1 .cats_owned ) is list
3333 assert len (owner1 .cats_owned ) == 1
3434
3535 def test_init_t1 (self ):
36- cat1 = Cat (name = "Whiskers" )
37- cat2 = Cat (name = "Boots" , color = "tabby" )
36+ cat1 = cat . Cat (name = "Whiskers" )
37+ cat2 = cat . Cat (name = "Boots" , color = "tabby" )
3838 # Multiple cats
39- owner1 = Owner (name = "Liam" , cats_owned = [cat1 , cat2 ])
39+ owner1 = cat . Owner (name = "Liam" , cats_owned = [cat1 , cat2 ])
4040
4141 assert owner1 .name == 'Liam'
4242 assert type (owner1 .cats_owned ) is list
@@ -47,10 +47,29 @@ class TesthumanOwnerFact:
4747 ''' Test for the give_fact function'''
4848
4949 def test_give_fact_t0 (self ):
50- cat1 = Cat (name = "Whiskers" )
51- owner1 = Owner (name = "Sasha" , cats_owned = cat1 )
52-
50+ cat1 = cat . Cat (name = "Whiskers" )
51+ owner1 = cat . Owner (name = "Sasha" , cats_owned = cat1 )
52+ # Test that the fact is given correctly
5353 owner1 .give_fact ()
54+
55+
56+
57+ class TesthumanOwnerAdopt :
58+ def test_adopt_t0 (self ):
59+ cat1 = cat .Cat (name = "Whiskers" )
60+ cat2 = cat .Cat (name = "Boots" , color = "tabby" )
61+ owner1 = cat .Owner (name = "Sasha" , cats_owned = cat1 )
62+ owner2 = cat .Owner (name = "Liam" , cats_owned = [cat1 , cat2 ])
63+ chestnut = cat .Cat (name = 'Chestnut' , age = 4 , color = 'tabby' )
64+ nutmeg = cat .Cat (name = 'Nutmeg' , age = 3 , color = 'tortoiseshell' )
65+
66+ new_cat = chestnut
67+ owner1 .adopt (new_cat )
68+ assert owner1 .cats_owned [- 1 ] == new_cat
69+
70+ new_cat = [chestnut , nutmeg ]
71+ owner2 .adopt (new_cat )
72+ assert owner2 .cats_owned [- len (new_cat ):] == new_cat
5473
5574
5675class TesthumanOwnerAdopt :
@@ -70,17 +89,24 @@ def test_adopt_t0(self):
7089 new_cat = [chestnut ,nutmeg ]
7190 owner2 .adopt (new_cat )
7291 assert owner2 .cats_owned [- len (new_cat ):]== new_cat
73-
74- class TesthumanActions :
92+
93+ class TesthumanGroom :
7594 ''' Test for Owner action success '''
7695
7796 def test_groom_t0 (self ):
78- cat1 = Cat (name = "Whiskers" ,mood = 7 )
79- owner1 = Owner (name = "Sasha" , cats_owned = cat1 )
97+ cat1 = cat . Cat (name = "Whiskers" , mood = 7 )
98+ owner1 = cat . Owner (name = "Sasha" , cats_owned = cat1 )
8099
81- owner1 .groom (cat1 )
100+ owner1 .groom (cat1 )
101+ assert cat1 .mood == 8
82102
83- assert cat1 .mood == 8
84-
85-
86-
103+ class TesthumanOwnerFeed :
104+ def test_feed_t0 (self ):
105+ """
106+ Test that feeding a cat decreases hunger_level by 1 and increases mood by 1.
107+ """
108+ test_cat = cat .Cat (name = "Fluffy" , hunger_level = 5 , mood = 4 )
109+ test_owner = cat .Owner (name = "Jordan" , cats_owned = test_cat )
110+ test_owner .feed (test_cat )
111+ assert test_cat .hunger_level == 4
112+ assert test_cat .mood == 5
0 commit comments