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))
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()")