Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/06/2017, 07:27
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: TablaHash y sus pasos

Si no eres capaz de darte cuenta por tus tests que es lo que falla, estas en un estado de perplejidad que no sabes que es lo que ocurre, etc. tienes que meditar respecto a los tests que estas haciendo.
- no estas haciendo suficientes tests

los test que si' estas haciendo
- estan malos o
- estan incompletos o
- prueban aquello que no te sirve.

Mirando alguno de ellos, se ve inmediatamente la fragilidad que ellos tienen.
Me refiero a que si la implementacion estuviera mala (como lo esta') algunos de tus tests igual pasarian y no se reportaria error. Tu necesitas hacer que los tests fallen cuando la implementacion este mala.

Imaginate que tu set modificara los datos y en vez de realmente mantener un set, hiciera una copia de un elemento cualquiera, inventado.
Por ejemplo, yo inserto 3, 4,5 en el set, y este guardara, dentro 1, 1, 1. (3 veces el numero 1). Cuantos de tus tests pasarian sin reportar error?
Ok, olvidate de eso, pero solo por un rato, imaginate que esto no fuera al insertar, sino al hacer las otras operaciones, cuando intersectas, o haces union, el hashmap se vuelve loco y se pone a repetir cosas e ignora la entrada. Cuantos de tus tests pasarian sin reportar error?

No lo tomes literalmente, tal vez no es lo que te esta' ocurriendo, tu Hashmap no esta repitiendo nada, o eso creo. Solo te lo doy como ejemplo para que analices tus tests y veas que ellos son fragils y lo que prueban no sirve.
A veces te conviene cambiar la implementacion de lo que tienes, a proposito, para ver si tus tests se dan cuenta de lo malo que hay detras, en este caso, dado que tus tests son malos, tu no te das cuenta de la implementacion mala porque ellos pasan sin reportar la mala implementacion.

Una vez que tengas la confianza que tus tests no son fragiles, es momento de ver cuales en particular fallan, y cuando ellos son solo algunos, es momento de depurar, pero parte arreglando los tests. Ellos te daran mas informacion una vez que esten bien escritos.
__________________
Visita mi perfil en LinkedIn

Última edición por CalgaryCorpus; 01/06/2017 a las 08:24