def test_will_swim_forward(self): tank = TestTank() fish = TestFish(direction=simfish.EAST) tank.reset_movement_record() for i in range(fish.energy): fish.turn(tank) self.assertEqual(fish, tank.last_item_moved) self.assertEqual(i + 1, tank.total_dx) self.assertEqual(0, tank.total_dy) self.assertEqual(0, fish.energy)
def test_will_float_when_dead(self): tank = TestTank() diver_fish = simfish.DiverFish() for i in range(simfish.DiverFish.ENERGY): diver_fish.turn(tank) self.assertFalse(diver_fish.alive) tank.reset_movement_record() diver_fish.turn(tank) self.assertEqual(diver_fish, tank.last_item_moved) self.assertEqual(0, tank.total_dx) self.assertEqual(-1, tank.total_dy)
def test_will_float_when_dead(self): tank = TestTank() piranha_fish = simfish.PiranhaFish() for i in range(simfish.PiranhaFish.ENERGY): piranha_fish.turn(tank) self.assertFalse(piranha_fish.alive) tank.reset_movement_record() piranha_fish.turn(tank) self.assertEqual(piranha_fish, tank.last_item_moved) self.assertEqual(0, tank.total_dx) self.assertEqual(-1, tank.total_dy)
def test_will_sink_when_dead(self): tank = TestTank() snail = simfish.Snail() for i in range(simfish.Snail.ENERGY): snail.turn(tank) self.assertFalse(snail.alive) tank.reset_movement_record() snail.turn(tank) self.assertEqual(snail, tank.last_item_moved) self.assertEqual(0, tank.total_dx) self.assertEqual(1, tank.total_dy)