Test Cases!

0 views
Skip to first unread message

Alejandro Segovia

unread,
Mar 18, 2009, 8:42:08 PM3/18/09
to ceibal...@googlegroups.com
Buenas equipo,

Me alegro de poder comentarles que la mayoría del código refactoreado de las piezas se encuentra en su lugar. El refactoring consistió principalmente en separar el Blob en el cual se había convertido la clase Piece en 6 clases independientes (Knight, Pawn, King, Queen, Rook y Bishop), cada una capaz de calcular sus propios movimientos. De momento esto está todo implementado en piece.py.

A su vez, las nuevas clases expresan los movimientos utilizando instancias de las clases Move, Castling y Crowning, los cual nos ahorrará el tener que interpretar (adivinar) qué tipo de movimiento es realmente en función del estado del tablero, así como nos permitirá eventualmente implementar UNDO.

La idea sería ahora escribir Test Cases para las clases nuevas, de forma de probar bien de bien que los movimientos que estas calculan son los correctos para distintas configuraciones del tablero. Tanto Leonardo como Pelusita habrían comentado en el pasado la importancia de tener casos de testeo, y hoy más que nunca les doy la razón.

Algo tan sencillo como alcanza y sobra:

from piece import *
from board import *
b = Board(10, 10)
k = Knight("white")
k.get_moves(0,0,b) == [Move(0,0,2,1), Move(0,0,1,2)]

La pregunta es: ¿les estaría interesando meterse con esto, Leo y Pelu? Realmente me daría una mano enorme :D

Saludos,
Ale.-

--
Varrojo@Linux
http://varrojo.linuxuruguay.org

Federico Moreira

unread,
Mar 18, 2009, 10:34:35 PM3/18/09
to ceibal...@googlegroups.com
Por supuesto que sí varrojín.
Me interesa y mucho, el tema es el tiempo, con FLISOL estoy sobrepasado pero ni bien encuentre un hueco te doy una mano.

Leonardo Val

unread,
Mar 19, 2009, 9:02:17 AM3/19/09
to ceibal...@googlegroups.com
Si me esperan al fin de semana, estoy con ustedes.

Saludos,
Leo.

2009/3/18 Alejandro Segovia <ase...@gmail.com>:

Alejandro Segovia

unread,
Mar 19, 2009, 9:05:43 AM3/19/09
to ceibal...@googlegroups.com
2009/3/19 Leonardo Val <leonar...@gmail.com>


Si me esperan al fin de semana, estoy con ustedes.

Excelente! Esperaremos entonces ;)

Saben de alguna herramienta o biblioteca que recomiendes para los Test Cases o simplemente python puro?
 
Ale.-




--
Varrojo@Linux
http://varrojo.linuxuruguay.org

Leonardo Val

unread,
Mar 19, 2009, 9:23:12 AM3/19/09
to ceibal...@googlegroups.com
Hay bibliotecas de unit testing para Python, pero nunca las usé:
<http://diveintopython.org/unit_testing/index.html>.
Siempre hay una primera vez. :-)

2009/3/19 Alejandro Segovia <ase...@gmail.com>:

Alejandro Segovia

unread,
Mar 19, 2009, 10:08:06 AM3/19/09
to ceibal...@googlegroups.com


2009/3/19 Leonardo Val <leonar...@gmail.com>


Hay bibliotecas de unit testing para Python, pero nunca las usé:
<http://diveintopython.org/unit_testing/index.html>.
Siempre hay una primera vez. :-)

Parece buena la idea de usar el modulo unittest... estaba pensando que quizas estaria bueno agregar un directorio tests/ y tirar los test cases ahi dentro, de forma de no "ensuciar" el codigo.

Saludos,
Ale.-
 



--
Varrojo@Linux
http://varrojo.linuxuruguay.org

Leonardo Val

unread,
Mar 19, 2009, 10:46:24 AM3/19/09
to ceibal...@googlegroups.com
Totalmente de acuerdo. Es lo que normalmente se hace.

Alejandro Segovia

unread,
Apr 14, 2009, 6:59:02 PM4/14/09
to ceibal...@googlegroups.com
Buenas gente, ¿cómo andan? -tanto tiempo!

Quería comentarles que agregué algún test case para las nuevas piezas. La verdad es que es bastante sencillo! La idea es que quienes estaban interesados en dar una mano con los testcases tomen esto como ejemplo y comiencen a aportar sus propios casos, realmente sería una ayuda tremenda!

Si se hacen un checkout o update, se les debería agregar un nuevo directorio llamado testcases, dentro del cual hay un script que se encarga de setear en ambiente y arrancar las pruebas.

Para agreagar un caso de prueba, les recomiendo crear un nuevo archivo .py de nombre <loquequieroprobar>test.py y agreguen una línea para correrlo desde runtests.sh

Se prenden? :)

Saludos,
Ale.-

2009/3/19 Leonardo Val <leonar...@gmail.com>



--
Varrojo@Linux
http://varrojo.linuxuruguay.org
Reply all
Reply to author
Forward
0 new messages