Exemplo n.º 1
0
 def verificar_assert(
     nombre_test,
     codigo_insertar_recibido,
     codigo_insertar_esperado,
     es_declaracion,
 ):
     """
     A partir de las posibilidades dadas por el generador crea dos instancias de tablero (o partida), donde
     en una almacena el tablero que se espera recibir y en la otra el tablero donde la pc ya realizo su movimiento.
     Ambas varibles 'codigo...' llevan el codigo que se tiene que ejecutar para insertar en ambos tableros (recibido/esperado)
     los movimientos a testearse. 
     """
     for (
             posicion_posible,
             posicion_esperada,
             tablero_jugado,
     ) in generador_posibilidades():
         tablero_nuevo = Tablero()
         tablero_recibido = tablero_nuevo.get_tablero()
         tablero_esperado = tablero_jugado.get_tablero()
         if es_declaracion:
             exec(codigo_insertar_recibido)
             exec(codigo_insertar_esperado)
         else:
             eval(codigo_insertar_recibido)
             eval(codigo_insertar_esperado)
         self.__pc_insertar_movimiento(tablero_nuevo, pc)
         assert (tablero_recibido == tablero_esperado).all(
         ), "pc.insertar_posicion() ({} condicionada) no inserta la posicion esperada".format(
             nombre_test)
         print("SUCCEEDED pc.insertar_posicion() ({} condicionada)".
               format(nombre_test))
Exemplo n.º 2
0
    def test_insertar_posicion_aleatoria(self):
        """
        Testea cuando la pc inserta sin amenazas (x x -) o posibles victorias (o o -).
        """
        # Para este test voy a necesitar instanciar un tablero nuevo, es decir sin
        # ningun simbolo.
        pc = Pc("O")
        tablero_vacio = Tablero()
        self.__pc_insertar_movimiento(tablero_vacio, pc)
        tablero_recibido = tablero_vacio.get_tablero()

        posiciones_tablero = np.array([["O", "-", "-"], ["-", "-", "-"],
                                       ["-", "-", "-"]])
        tablero_jugado = Tablero()
        tablero_jugado.set_tablero(posiciones_tablero)
        tablero_esperado = tablero_jugado.get_tablero()

        assert (tablero_recibido == tablero_esperado).all(
        ), "pc.insertar_posicion() no inserta la posicion esperada"
        print("SUCCEEDED pc.insertar_posicion()")