Esempio n. 1
0
 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())
Esempio n. 2
0
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)
Esempio n. 3
0
 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
Esempio n. 4
0
 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)
Esempio n. 5
0
 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())
Esempio n. 6
0
    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))
Esempio n. 7
0
 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))
Esempio n. 8
0
 def setUp(self):
     self.ship_test = Ship(2)
     self.cell_test = Cell()
Esempio n. 9
0
 def setUp(self):
     self.ship_test = Ship(2)
Esempio n. 10
0
 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))