Estoy empezando a responder a las preguntas en el proyecto Euler, y me gustaría abordarlo con un estilo TDD, pero tengo problemas para encontrar la respuesta numérica a la pregunta que no responde Incluya el código. ¿Hay algún recurso con esos datos para poder hacer casos de prueba que me digan si he resuelto el problema correctamente?Realización de pruebas unitarias para el proyecto Euler
Mi motivación para esto es que siento que el algoritmo es la respuesta, no el número. Si miro la muestra de código de otra persona, se arruina el desafío de averiguar cómo para resolver el problema.
Editar: Estoy buscando específicamente el número de respuestas sin contexto o algoritmo para poder hacer algo como lo siguiente. Sé que es más detallado, pero me gustaría poder tener un resultado de aprobado/reprobado para decirme si mi algoritmo es correcto o no, en lugar de mirar el ejemplo de código de otra persona para saber si lo hice correctamente.
import unittest
class ProblemOneTest(unittest.TestCase):
def test_me(self):
self.assertEquals(solve_problem_one(),233168)
if __name__ == '__main__':
print "Problem 1 possible answer: %d" % solve_problem_one()
sys.exit(unittest.main())
Tener respuestas arruinaría la parte del desafío. Lo que podría hacer es ejecutar múltiples "soluciones" y comparar sus resultados. –
Para mí siento lo opuesto. El número no tiene sentido sin el algoritmo. Siento que el código en sí es la respuesta, y ver cómo alguien más lo hizo arruina el desafío de descubrir * cómo * resolverlo. – Daenyth
No está ingresando el número en la página de contexto y obteniendo el "¡lo resolvió!" pantalla suficiente? Realmente no veo cómo las pruebas unitarias podrían ayudar allí. Pruebe en cambio escribir diferentes algoritmos, modificarlos para renderizarlos más rápido, o simplemente más elegantes. – nico