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