Пример #1
0
 def test_player_defeated(self):
     env = Environment(3, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     env.players['user'].field.place_ship_on_field([(1, 0)])
     self.assertFalse(env.players['user'].is_player_defeated())
     env.players['user'].field.fire_cell(1, 0, Player(PlayerType.BOT, env))
     self.assertTrue(env.players['user'].is_player_defeated())
Пример #2
0
 def test_player_have_ship_on_hands(self):
     env = Environment(3, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     self.assertFalse(env.players['user'].is_ship_in_hand(2))
     self.assertTrue(env.players['user'].is_ship_in_hand(1))
     env.players['user'].field.place_ship_on_field([(1, 0)])
     self.assertFalse(env.players['user'].is_ship_in_hand(1))
Пример #3
0
 def test_fire_destroyed(self):
     env = Environment(5, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     env.players['user'].field.place_ship_on_field([(0, 1)])
     state = env.players['user'].field.fire_cell(
         0, 1, Player(PlayerType.BOT, env))
     self.assertTrue(env.players['user'].is_player_defeated())
     self.assertEqual(FireResult.DESTROYED, state)
Пример #4
0
    def test_fire_out_of_field(self):
        env = Environment(5, 0, 1)
        env.add_player(PlayerType.USER, 'user')
        state = env.players['user'].field.fire_cell(
            0, 6, Player(PlayerType.BOT, env))
        self.assertEqual(state, FireResult.UNABLE)

        if __name__ == '__main__':
            unittest.main()
Пример #5
0
 def test_fire_twice(self):
     env = Environment(5, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     state = env.players['user'].field.fire_cell(
         0, 1, Player(PlayerType.BOT, env))
     self.assertEqual(state, FireResult.MISSED)
     state = env.players['user'].field.fire_cell(
         0, 1, Player(PlayerType.BOT, env))
     self.assertEqual(state, FireResult.UNABLE)
Пример #6
0
 def test_place_corner_ship_big_field(self):
     env = Environment(6, 0, 4)
     env.add_player(PlayerType.USER, 'user')
     self.assertEqual(
         env.players['user'].field.place_ship_on_field([(0, 0)]),
         PlacementResult.SUCCESS)
     self.assertEqual(
         env.players['user'].field.place_ship_on_field([(0, 5)]),
         PlacementResult.UNABLE)
Пример #7
0
 def test_place_2_ship(self):
     env = Environment(5, 0, 2)
     env.add_player(PlayerType.USER, 'user')
     env.players['user'].field.field[1][1].state = CellState.SHIP
     self.assertNotEqual(
         env.players['user'].field.place_ship_on_field([(0, 0), (0, 1)]),
         PlacementResult.SUCCESS)
     self.assertEqual(
         env.players['user'].field.place_ship_on_field([(1, 3), (2, 3)]),
         PlacementResult.SUCCESS)
Пример #8
0
 def test_fleet_placement(self):
     env = Environment(3, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     self.assertFalse(env.players['user'].is_fleet_placed())
     env.players['user'].field.place_ship_on_field([(1, 0)])
     self.assertTrue(env.players['user'].is_fleet_placed())
Пример #9
0
 def test_delete_from_fleet(self):
     env = Environment(3, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     env.players['user'].move_ship_to_fleet(1)
     env.players['user'].delete_cell_from_fleet()
     self.assertEqual(0, env.players['user'].fleet)
Пример #10
0
 def test_move_to_fleet(self):
     env = Environment(3, 0, 1)
     env.add_player(PlayerType.USER, 'user')
     env.players['user'].move_ship_to_fleet(1)
     self.assertEqual(env.players['user'].fleet, 1)
     self.assertNotIn(1, env.players['user'].hand)
Пример #11
0
 def test_bot_init_diff_wrong(self):
     env = Environment(3, 100, 2)
     env.add_player(PlayerType.BOT, 'bot')
     self.assertEqual(env.players['bot'].AI.diff, env.diff)
     self.assertEqual(env.diff, 0)