def test_crear_juego_poner_barco_y_hacerlo_avanzar_actualiza_la_posicion_del_barco_y_tablero( self): titanic = Barco(100) oceano = Tablero(10, 10) juego = Juego(oceano, [titanic], 1) xInicial = titanic.get_column() yInicial = titanic.get_row() titanic.advance_to_new_position() self.assertEqual(titanic.get_column(), xInicial + 1, "La posicion del barco en x no se modifico") self.assertEqual(titanic.get_row(), yInicial, "La posicion del barco en y se modifico") self.assertEqual(oceano.get_item_from_position(xInicial, yInicial), None, "El barco sigue en su posicion original") self.assertEqual(oceano.get_item_from_position(xInicial + 1, yInicial), titanic, "El barco no avanzo en el tablero")
def test_barco_avanza_hasta_el_final_y_da_la_vuelta(self): titanic = Barco(100) oceano = Tablero(3, 3) juego = Juego(oceano, [titanic], 1) xInicial = titanic.get_column() yInicial = titanic.get_row() titanic.advance_to_new_position() self.assertEqual(titanic.get_column(), xInicial + 1, "La posicion del barco en x no se modifico") self.assertEqual(oceano.get_item_from_position(xInicial + 1, yInicial), titanic, "El barco no avanzo en el tablero") titanic.advance_to_new_position() self.assertEqual(titanic.get_column(), xInicial + 2, "La posicion del barco en x no se modifico") self.assertEqual(oceano.get_item_from_position(xInicial + 2, yInicial), titanic, "El barco no avanzo en el tablero") titanic.advance_to_new_position() self.assertEqual(titanic.get_column(), xInicial, "El barco no dio la vuelta") self.assertEqual(titanic.get_row(), yInicial, "La posicion del barco en y se modifico") self.assertEqual(oceano.get_item_from_position(xInicial, yInicial), titanic, "El barco no dio la vuelta en el tablero") self.assertEqual(oceano.get_item_from_position(xInicial + 2, yInicial), None, "El barco no se fue del final del tablero")
def test_barco_avanza_y_el_mortero_lo_va_atacando_hasta_destruirlo(self): titanic = Barco(100) mortero = Mortero([[40, 40, 40, 40, 40], [30, 30, 30, 30, 30], [20, 20, 20, 20, 20], [15, 15, 15, 15, 15], [40, 40, 40, 40, 40]]) oceano = Tablero(5, 5) juego = Juego(oceano, [titanic], [mortero]) mortero.attack(titanic) self.assertEqual(titanic.get_life_points(), 60, "El barco no perdio vida") titanic.advance_to_new_position() mortero.attack(titanic) self.assertEqual(titanic.get_life_points(), 30, "El barco no perdio vida") titanic.advance_to_new_position() mortero.attack(titanic) self.assertEqual(titanic.get_life_points(), 10, "El barco no perdio vida") titanic.advance_to_new_position() mortero.attack(titanic) self.assertTrue(titanic.is_dead(), "El barco no murio")