Closed cncosta closed 3 years ago
Me pasa lo mismo
Acabo de solucionarlo de la siguiente manera en esta linea del codigo:
Guardo el resultado de la comparación en un variable que debería ser un bool
. y luego el assert
es que el compare
tenga el valor correcto
compare = node_1 < node_2
assert compare == #the correct answer (True or False)
@Dietr1ch no sé si esto es correcto de implementar
Qué curioso que assert a < b
falle, pero que puedan hacer,
is_less_than = a < b
assert is_less_than # == True
¿Qué versión de Python están usando?
El ambiente de nix de la tarea usa Python 3.8 y todos los tests pasan, pero lo raro es que __lt__
es una función bastante vieja en Python.
Si a mi también me parece super raro el error, pero con la variable se soluciona o por lo menos podemos testear la función.
Mi versión de python es 3.8.10.
Lo extraño fue que al comienzo no arrojaba ese error y cuando edité __lt__
de A* comenzó a mostrar el resultado como representación de objeto y no como bool
.
¿puede se quizas error del modulo pytest o del interpreter de Visual Studio?
Si a mi también me parece super raro el error, pero con la variable se soluciona o por lo menos podemos testear la función. Mi versión de python es 3.8.10. Lo extraño fue que al comienzo no arrojaba ese error y cuando edité
__lt__
de A* comenzó a mostrar el resultado como representación de objeto y no comobool
. ¿puede se quizas error del modulo pytest o del interpreter de Visual Studio?
Yo apostaría a que es un error de tu implementación. En vez de retornar True
/False
intenta retornar una comparación.
Cuidado que en Python no retornar, en vez de razonablemente ser un error, equivale a retornar None
en esos /codepaths/.
Hola, al correr el test de tie breaking en A* me aparece el siguiente error:
Por alguna razón no reconoce bien el resultado y arroja la dirección de memoria de los dos objetos que se están comparando.