def test_rabbit_should_be_eaten_when_met_one_fox(): fox = Fox() rabbit = Rabbit() hunt = Hunt([fox], [rabbit]) hunt.launch() assert fox.is_fed() assert rabbit.is_dead()
def test_5_rabbits_and_no_fox_should_breed_no_rabbit_when_life_happen(): territory = Territory() for i in range(5): rabbit = Rabbit() rabbit.age = 5 territory.add_rabbit(rabbit) territory.life_happen() assert territory.new_child_rabbit() == 2
def test_two_foxes_met_one_rabbit_only_one_fox_should_be_fed(): fox_1 = Fox() fox_2 = Fox() rabbit = Rabbit() hunt = Hunt([fox_1, fox_2], [rabbit]) hunt.launch() assert fox_1.is_fed() assert not fox_2.is_fed() assert rabbit.is_dead()
def test_5_rabbits_and_5_hungry_fox_should_left_no_rabbit_alive(): territory = Territory() for i in range(5): territory.add_rabbit(Rabbit()) territory.add_fox(Fox()) territory.life_happen() assert territory.rabbit_count() == 0
def test_two_rabbit_met_one_fox_one_is_eaten_the_other_survive(): fox = Fox() rabbit_1 = Rabbit() rabbit_2 = Rabbit() hunt = Hunt([fox], [rabbit_1, rabbit_2]) hunt.launch() assert fox.is_fed() assert rabbit_1.is_dead() assert not rabbit_2.is_dead()
def test_add_one_rabbit_to_territory(): rabbit = Rabbit() territory = Territory() territory.add_rabbit(rabbit) assert territory.rabbit_count() == 1 assert territory.is_occupied()
def test_add_two_rabbits_to_territory(): territory = Territory() territory.add_rabbit(Rabbit()) territory.add_rabbit(Rabbit()) assert territory.rabbit_count() == 2
def assign_rabbit_to_territories(self, coord_generator, rabbits): for rabbit in range(rabbits): coord = coord_generator.next_coord() list( filter(lambda territory: territory.coord == coord, self.territories))[0].add_rabbit(Rabbit())
def add_new_rabbits_to(territory): for _ in range(territory.new_child_rabbit()): territory.add_rabbit(Rabbit()) territory.born_rabbits = 0
print("press enter to start") input() while True: world.launch_round() print("foxes : " + str(world.total_fox())) print("rabbit : " + str(world.total_rabbits())) print("Do you want to edit eco system ? (y/[n])") response = input() if response == "y": print("How many foxes to add ? [0]") foxes_to_add = int(input() or '0') for _ in range(foxes_to_add): random.choice(world.territories).add_fox(Fox()) print("How many rabbits to add ? [0]") rabbits_to_add = int(input() or '0') for _ in range(rabbits_to_add): random.choice(world.territories).add_rabbit(Rabbit()) print("Eco system edited, press Enter to continue") input()