[Tutor] unittest with random population data

Peter Otten __peter__ at web.de
Sat May 30 13:29:38 CEST 2015


Sydney Shall wrote:

> MAC OSX 10.10.3
> Enthought Python 2.7
> 
> I am an almost beginner.
> 
> Following advice from you generous people, I have chosen a project that
> interests me, to develop some knowledge of python.
> My projest is a simulation of a biological population.
> I have a base class and a simulation function, which uses instances of
> the class.
> This, after many months of work and lots of advice, now seems to work
> well. It generates sensible data and when I write a small test program
> it gives sensible output.
> Now I want to learn to use unittest.
> I have written a unittest class which works OK.
> But the problem I have is that because I use the random module to
> populate my initial arrays, my data is not strictly predictable even
> though I am using seed(0). So the tests return many *fails* because the
> numbers are not exactly correct, although they are all rather close,
> consistent with the sigma value I have chosen for the spread of my
> population. I do of course use *almostEqual* and not *Equal*.
> So, I would be very grateful for guidance. How does one proceed in this
> case? Should I simply create an arbitrary array or value to input into
> the function that I want to test?
> I would be grateful for any guidance.

With the same input your program should produce exactly the same output.
Are you entering data into dicts? Try to set the

PYTHONHASHSEED 

environment variable to get reproducible results.




More information about the Tutor mailing list