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