<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">El 5 de marzo de 2013 19:58, pancho horrillo <span dir="ltr"><<a href="mailto:pancho@pancho.name" target="_blank">pancho@pancho.name</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Mar 05, 2013 at 06:25:16PM +0100, JJ Merelo wrote:<br>
> Hola,<br>
Hola!<br>
<div class="im"><br>
> Como siempre, estoy con el mastermind. Tengo un operador que "baraja" con<br>
> shuffle una cadena, pero que como es natural cuando la cadena es pequeña<br>
> tiene una probabilidad no nula de dar el mismo resultado. ¿Hay algún módulo<br>
> de test que permita fallar un test de vez en cuando? O lo meto en un bloque<br>
> skip, lo que en realidad invalidaría todo el test...<br>
><br>
</div><a href="http://dilbert.com/strips/comic/2001-10-25/" target="_blank">http://dilbert.com/strips/comic/2001-10-25/</a><br>
<div class="im"><br>
> Lo único que se me ocurre es hacer los tests y pasar si son diferentes en<br>
> un porcentaje determinado de los casos, 95%, por ejemplo...<br>
><br>
</div>Parece razonable.  Un poco de combinatoria para estimar las probabilidades<br>
correctas, y se podría diseñar un test que te validara la función en el<br>
intervalo de confianza elegido.<br>
<br>
Otra idea sería usar un generador de números pseudoaleatorios al que pudiéramos<br>
controlar la semilla, produciendo una cadena de pseudoaleatorios predecible,<br>
que haría predecible también al operador barajante, transformando el problema<br>
en un test determinista clásico.<br></blockquote><div><br></div><div>Oye, pues no había pensado en eso. Buena idea. Muchas gracias.<br><br></div><div>JJ<br></div></div></div></div>