def test_play_one_tour_iaHunter_hard(self): random.seed(a=0) self.ia_test.reset_coup_possible() ship1 = Ship(2) self.test_map.place_ship(ship1, 8, 0, dir.HORI) ship2 = Ship(3) self.test_map.place_ship(ship2, 1, 0, dir.HORI) ship3 = Ship(3) self.test_map.place_ship(ship3, 7, 4, dir.VERTI) ship4 = Ship(3) self.test_map.place_ship(ship4, 6, 5, dir.VERTI) ship5 = Ship(4) self.test_map.place_ship(ship5, 1, 9, dir.VERTI) self.assertEqual(action.NOTHING, self.ia_test.play_one_tour()) self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.COULER, self.ia_test.play_one_tour()) # premier bateau self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.COULER, self.ia_test.play_one_tour()) # test bateau juste poser l'un contre l'autre self.assertEqual(action.NOTHING, self.ia_test.play_one_tour()) # premier touche self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.NOTHING, self.ia_test.play_one_tour()) # correspond au 11eme coup self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.NOTHING, self.ia_test.play_one_tour()) self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.COULER, self.ia_test.play_one_tour()) self.assertEqual(action.NOTHING, self.ia_test.play_one_tour()) self.assertEqual(action.TOUCHE, self.ia_test.play_one_tour()) self.assertEqual(action.COULER, self.ia_test.play_one_tour())
class test_ship(unittest.TestCase): def setUp(self): self.ship_test = Ship(2) def test_init_ship_except_lenght(self): self.assertEqual(2, self.ship_test.lenght) self.assertEqual(2, self.ship_test.life) self.assertFalse(self.ship_test.couler) def test_touche(self): self.assertEqual(2, self.ship_test.life) self.assertEqual(action.TOUCHE, self.ship_test.touche()) self.assertEqual(1, self.ship_test.life) self.assertEqual(2, self.ship_test.lenght) self.assertFalse(self.ship_test.couler) self.assertEqual(action.COULER, self.ship_test.touche()) self.assertEqual(0, self.ship_test.life) self.assertTrue(self.ship_test.couler) def test_is_couler(self): self.assertFalse(self.ship_test.is_couler()) self.ship_test.touche() self.ship_test.touche() self.assertTrue(self.ship_test.is_couler()) def test_reset_ship(self): self.ship_test.touche() self.ship_test.touche() self.assertEqual(0, self.ship_test.life) self.assertTrue(self.ship_test.couler) self.ship_test.reset_ship() self.assertEqual(2, self.ship_test.life) self.assertFalse(self.ship_test.couler)
def __init__(self): self.map_sea = MapSea(10) self.map_sea2 = MapSea(10) self.nb_ship_rest = 5 self.nb_ship_rest2 = 5 self.list_ship = [Ship(i) for i in range(5, 1, -1)] self.list_ship.insert(2, Ship(3)) self.list_ship2 = [Ship(i) for i in range(5, 1, -1)] self.list_ship2.insert(2, Ship(3)) self.player1 = None self.player2 = None
def test_place_ship(self): ship1 = Ship(5) self.map_sea_test.place_ship(ship1, 0, 0, dir.HORI) for i in range(5): self.assertTrue(self.map_sea_test.map_cell[0][i].is_ship()) self.assertTrue(self.map_sea_test.map_cell[0][i].ship_cell.lenght) ship2 = Ship(2) self.map_sea_test.place_ship(ship2, 1, 1, dir.VERTI) for i in range(2): self.assertTrue(self.map_sea_test.map_cell[i + 1][1].is_ship()) self.assertTrue(self.map_sea_test.map_cell[i + 1][1].ship_cell.lenght) nb_cell_with_ship = 0 for ligne in self.map_sea_test.map_cell: for cell_m in ligne: if cell_m.is_ship(): nb_cell_with_ship += 1 self.assertEqual(7, nb_cell_with_ship)
def test_reset_map(self): ship1 = Ship(5) ship2 = Ship(2) self.map_sea_test.place_ship(ship1, 0, 0, dir.HORI) self.map_sea_test.place_ship(ship2, 1, 0, dir.VERTI) nb_cell_with_ship = 0 for ligne in self.map_sea_test.map_cell: for cell_m in ligne: if cell_m.is_ship(): nb_cell_with_ship += 1 self.assertEqual(7, nb_cell_with_ship) for ligne in self.map_sea_test.map_cell: ligne[0].change_view() self.map_sea_test.reset_map() nb_cell_with_ship = 0 for ligne in self.map_sea_test.map_cell: for cell_m in ligne: if cell_m.is_ship(): nb_cell_with_ship += 1 self.assertEqual(0, nb_cell_with_ship) for ligne in self.map_sea_test.map_cell: self.assertTrue(ligne[0].is_hide())
def test_peut_placer(self): ship1 = Ship(5) # test quand il y a rien sur la map for i in range(self.map_sea_test.size): self.assertTrue(self.map_sea_test.peut_placer(ship1, i, 0, dir.HORI)) for i in range(self.map_sea_test.size): self.assertTrue(self.map_sea_test.peut_placer(ship1, 0, i, dir.VERTI)) for i in range(self.map_sea_test.size): for j in range(1, self.map_sea_test.size): self.assertFalse(self.map_sea_test.peut_placer(ship1, i, j, dir.HORI)) for i in range(1, self.map_sea_test.size): for j in range(self.map_sea_test.size): self.assertFalse(self.map_sea_test.peut_placer(ship1, i, j, dir.VERTI)) self.map_sea_test.place_ship(ship1, 2, 0, dir.HORI) ship2 = Ship(3) # test quand il y a un bateau sur la map for i in range(self.map_sea_test.size): for j in range(self.map_sea_test.size): self.assertFalse(self.map_sea_test.peut_placer(ship2, i, j, dir.VERTI)) for i in range(self.map_sea_test.size): self.assertFalse(self.map_sea_test.peut_placer(ship2, 0, i, dir.VERTI)) for i in range(3, self.map_sea_test.size): self.assertTrue(self.map_sea_test.peut_placer(ship2, i, 0, dir.HORI))
def test_croix_hunt(self): self.assertListEqual([(0, 1), (2, 1), (1, 2), (1, 0)], self.ia_test.croix_hunt(1, 1)) self.assertListEqual([(1, 0), (0, 1)], self.ia_test.croix_hunt(0, 0)) self.assertListEqual([(1, 1), (0, 2), (0, 0)], self.ia_test.croix_hunt(0, 1)) self.assertListEqual([(1, 9), (0, 8)], self.ia_test.croix_hunt(0, 9)) self.assertListEqual([(0, 9), (2, 9), (1, 8)], self.ia_test.croix_hunt(1, 9)) self.assertListEqual([(8, 9), (9, 8)], self.ia_test.croix_hunt(9, 9)) self.assertListEqual([(8, 1), (9, 2), (9, 0)], self.ia_test.croix_hunt(9, 1)) self.assertListEqual([(8, 0), (9, 1)], self.ia_test.croix_hunt(9, 0)) self.assertListEqual([(0, 0), (2, 0), (1, 1)], self.ia_test.croix_hunt(1, 0)) self.test_map.see_cell(0, 1) self.test_map.see_cell(1, 1) self.test_map.see_cell(8, 1) self.test_map.see_cell(2, 9) self.assertListEqual([(2, 1), (1, 2), (1, 0)], self.ia_test.croix_hunt(1, 1)) self.assertListEqual([(1, 0)], self.ia_test.croix_hunt(0, 0)) self.assertListEqual([(0, 2), (0, 0)], self.ia_test.croix_hunt(0, 1)) self.assertListEqual([(1, 9), (0, 8)], self.ia_test.croix_hunt(0, 9)) self.assertListEqual([(0, 9), (1, 8)], self.ia_test.croix_hunt(1, 9)) self.assertListEqual([(8, 9), (9, 8)], self.ia_test.croix_hunt(9, 9)) self.assertListEqual([(9, 2), (9, 0)], self.ia_test.croix_hunt(9, 1)) self.assertListEqual([(8, 0), (9, 1)], self.ia_test.croix_hunt(9, 0)) self.assertListEqual([(0, 0), (2, 0)], self.ia_test.croix_hunt(1, 0)) # test avec des case entre les adjacant ship3 = Ship(3) self.test_map.place_ship(ship3, 5, 5, dir.HORI) self.test_map.see_cell(5, 6) self.assertListEqual([(4, 5), (6, 5), (5, 7), (5, 4)], self.ia_test.croix_hunt(5, 5)) self.assertListEqual([(4, 7), (6, 7), (5, 8), (5, 5)], self.ia_test.croix_hunt(5, 7)) self.assertListEqual([(3, 6), (6, 6), (4, 7), (4, 5)], self.ia_test.croix_hunt(4, 6)) self.assertListEqual([(4, 6), (7, 6), (6, 7), (6, 5)], self.ia_test.croix_hunt(6, 6))
def setUp(self): self.ship_test = Ship(2) self.cell_test = Cell()
def setUp(self): self.ship_test = Ship(2)
def test_see_cell(self): ship2 = Ship(2) self.map_sea_test.place_ship(ship2, 1, 0, dir.HORI) self.assertEqual(action.NOTHING, self.map_sea_test.see_cell(0, 0)) self.assertEqual(action.TOUCHE, self.map_sea_test.see_cell(1, 0)) self.assertEqual(action.COULER, self.map_sea_test.see_cell(1, 1))