예제 #1
0
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())
예제 #2
0
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()
예제 #3
0
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())