[SciPy-Dev] adding test to test_random.py

Keith Goodman kwgoodman at gmail.com
Sun Jun 13 20:20:16 EDT 2010


On Sun, Jun 13, 2010 at 5:10 PM, Robert Kern <robert.kern at gmail.com> wrote:
> On Sun, Jun 13, 2010 at 18:59, Vincent Davis <vincent at vincentdavis.net> wrote:
>> I was thinking that I could add a test to test_random.py withing numpy
>> to test rand(), randn()..
>> I added a few tests and modified/saved it to my currently install
>> numpy. The test should fail but I get no failed tests. I guess there
>> is something I don't know :)

The test count will tell you if your test ran.

>> I added  (assert 1==2 #just to make sure it fails :) but the randn
>> test should also fail.
>>
>> class TestRandomDist(TestCase):
>>    """ Make sure the random distrobution return the correct value for a
>>    given seed
>>    """
>>    self.seed = 1234567890
>
> This is not correct. At the class level, there is no "self".

You could do:

    def setUp(self):
        self.seed = 1234567890

>>    def test_rand(self):
>>        np.random.seed(self.seed)
>>        actual = np.random.rand(3,3)
>>        desired = array([[ 0.61879477,  0.59162363,  0.88868359],
>>                         [ 0.8916548 ,  0.45756748,  0.77818808],
>>                         [ 0.26706377,  0.99610621,  0.54009489]])
>
> These are not full precision. Use set_print_options() to raise the
> precision to 17 before printing out the desired results.
>
>>        assert actual == desired
>
> Do not use asserts; they are turned off in optimized .pyo compiled
> bytecode. Use np.testing.assert_array_equal(). This may or may not be
> the reason you are not seeing the failures you are expecting. Run the
> test suite with some verbosity so that the names of the test functions
> will print out.

np.testing.assert_array_equal() has nice output. But even if you went
with a straight assert such as self.assert_, you'd need reduce the
truth using all: (actual == desired).all()

> --
> Robert Kern
>
> "I have come to believe that the whole world is an enigma, a harmless
> enigma that is made terrible by our own mad attempt to interpret it as
> though it had an underlying truth."
>  -- Umberto Eco
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>



More information about the SciPy-Dev mailing list