class TestZoo(unittest.TestCase): def setUp(self): self.new_zoo = Zoo(20, 5000) def test_init(self): self.assertEqual(20, self.new_zoo.capacity) self.assertEqual(5000, self.new_zoo.budget) self.assertEqual(0, len(self.new_zoo.dict_of_animals)) def test_accommodate(self): self.assertEqual({"Lion": 1}, self.new_zoo.accomodate("Lion")) self.assertEqual({"Lion": 2}, self.new_zoo.accomodate("Lion")) def test_dayly_income(self): self.new_zoo.accomodate("Lion") self.new_zoo.accomodate("Lion") self.new_zoo.accomodate("Koala") self.assertEqual(180, self.new_zoo.daily_income())
class TestZoo(unittest.TestCase): def setUp(self): animals = [] capacity = 200 budget = 1000 self.my_zoo = Zoo(animals, capacity, budget) def test_init(self): self.assertListEqual(self.my_zoo.animals, []) self.assertEqual(self.my_zoo.capacity, 200) self.assertEqual(self.my_zoo.budget, 1000) self.assertEqual(self.my_zoo.DAILY_INCOME, 60) self.assertEqual(self.my_zoo.KILO_MEAT, 4) self.assertEqual(self.my_zoo.KILO_VEG_FOOD, 2) def test_accomodate(self): animal = Animal("Wolf", 2, "Kat", "male", 2,) self.my_zoo.accomodate(animal) self.assertListEqual(self.my_zoo.animals, [animal]) def test_calculate_incomes(self): animal = Animal("Wolf", 2, "Kat", "male", 2,) self.my_zoo.accomodate(animal) self.my_zoo.calculate_income() self.assertEqual(self.my_zoo.budget, 1060) def test_calculate_outcome(self): animal = Animal("Wolf", 2, "Kat", "male", 2) self.my_zoo.accomodate(animal) outcome = self.my_zoo.calculate_outcome() self.my_zoo.budget -= outcome self.assertEqual(self.my_zoo.budget, 999.6) def test_reproduce(self): animal = Animal("Wolf", 2, "Kat", "male", 2) self.my_zoo.accomodate(animal) animal = Animal("Wolf", 2, "Kate", "female", 3) self.my_zoo.accomodate(animal) self.my_zoo.reproduce()
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())