def test_death_z(self):  # NOT WORKING
        #
        b = Herbivore(age=0, weight=10)
        p = 0.4
        N = 10
        n = sum([(b.animal_dying() for _ in range(N))])

        mean = N * p
        var = N * p * (1 - p)
        Z = (n - mean) / math.sqrt(var)
        phi = 2 * stats.norm.cdf(-abs(Z))
        assert phi > 0.01
    def test_animal_dying(self, mocker):
        carn = Carnivore(20, 0)
        dead = carn.animal_dying()
        assert dead is True

        herb = Herbivore(5, 20)
        mocker.patch('random.random', return_value=0.001)
        dead = herb.animal_dying()
        assert dead is True

        carn = Carnivore(5, 20)
        mocker.patch('random.random', return_value=0.9)
        dead = carn.animal_dying()
        assert dead is False