class ZooTests(unittest.TestCase): def setUp(self): self.zoo = Zoo("Alexandria Zoo", 2, 1000) self.tiger_vitaly = Animal("tiger", 1, "Vitaly", "male", 180) self.lion_alex = Animal("lion", 1, "Alex", "male", 210) self.hippo_gloria = Animal("hippo", 2, "Gloria", "female", 1600) def test_get_zoo_name(self): self.assertEqual("Alexandria Zoo", self.zoo.get_name()) def test_get_zoo_max_capacity(self): self.assertEqual(2, self.zoo.get_max_capacity()) def test_get_zoo_budget(self): self.assertEqual(1000, self.zoo.get_budget()) def test_get_animals(self): self.assertEqual("", self.zoo.get_animals()) def test_add_animal(self): self.assertTrue(self.zoo.add_animal(self.tiger_vitaly)) self.assertEqual("<Vitaly>: <tiger>, <1>, <180>", self.zoo.get_animals()) def test_add_animal_when_no_space(self): self.assertTrue(self.zoo.add_animal(self.tiger_vitaly)) self.assertEqual("<Vitaly>: <tiger>, <1>, <180>", self.zoo.get_animals()) self.assertTrue(self.zoo.add_animal(self.lion_alex)) self.assertEqual("<Vitaly>: <tiger>, <1>, <180>\n<Alex>: <lion>, <1>, <210>", self.zoo.get_animals()) self.assertFalse(self.zoo.add_animal(self.hippo_gloria)) self.assertEqual("<Vitaly>: <tiger>, <1>, <180>\n<Alex>: <lion>, <1>, <210>", self.zoo.get_animals()) def test_remove_animal(self): self.assertTrue(self.zoo.add_animal(self.tiger_vitaly)) self.assertEqual("<Vitaly>: <tiger>, <1>, <180>", self.zoo.get_animals()) self.assertTrue(self.zoo.remove_animal(0)) self.assertEqual("", self.zoo.get_animals()) def test_is_there_space(self): self.assertTrue(self.zoo.is_there_space()) def test_is_there_space_when_no_space(self): self.assertTrue(self.zoo.add_animal("Tiger")) self.assertTrue(self.zoo.add_animal("Lion")) self.assertFalse(self.zoo.is_there_space()) def test_get_daily_expenses_when_empty_zoo(self): self.assertEqual(0, self.zoo.get_daily_expenses()) def test_get_daily_expenses(self): self.assertTrue(self.zoo.add_animal(self.tiger_vitaly)) expected = 4 * (self.tiger_vitaly.get_food_weight_ratio() * self.tiger_vitaly.weight) self.assertEqual(expected, self.zoo.get_daily_expenses())
class ZooTests(unittest.TestCase): def setUp(self): self.tiger = Animal('tiger', 2, 'Pesho', 'male', 100) self.lion = Animal('lion', 5, 'Gosho', 'female', 120) self.goat = Animal('goat', 3, 'Kolio', 'male', 80) self.zoo = Zoo([self.tiger, self.lion, self.goat], 1000, 100000, 'Zoo') def test_zoo_get_animals(self): self.assertEqual([self.tiger, self.lion, self.goat], self.zoo.get_animals()) def test_zoo_get_capacity(self): self.assertEqual(1000, self.zoo.get_capacity()) def test_zoo_get_budget(self): self.assertEqual(100000, self.zoo.get_budget()) def test_zoo_get_name(self): self.assertEqual('Zoo', self.zoo.get_name()) @unittest.skip("Skip this.") def test_zoo_save(self): self.zoo.save() def test_zoo_income(self): self.assertEqual(180, self.zoo.daily_income()) def test_accomodate(self): self.zoo.accomodate(self.tiger) self.zoo.accomodate(self.lion) self.zoo.accomodate(self.goat) def test_daily_outcome(self): self.assertEqual(101, self.zoo.daily_outcome()) def test_simulate_period_of_time(self): self.zoo.simulate_time('months', 10) self.assertEqual(123700, self.zoo.get_budget())