Christian Meesters wrote: > Hi, > > I used to work with some unittest scripts for a bigger project of mine. Now > that I started the project again the tests don't work anymore, using numpy > version '0.9.5.2100' . > > The errors I get look are like this: > > ERROR: _normalize() should return dataset scaled between 0 and 1 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "testingSAXS.py", line 265, in testNormalization > > self.assertEqual(self.test1._normalize(minimum=0.0,maximum=1.0),self.test5) > File "/usr/lib64/python2.4/unittest.py", line 332, in failUnlessEqual > if not first == second: > File > "/home/cm/Documents/Informatics/Python/python_programming/biophysics/SAXS/lib/Data.py", > > line 174, in __eq__ > if self.intensity == other.intensity: > ValueError: The truth value of an array with more than one element is > ambiguous. Use a.any() or a.all() > > The 'self.intensity' objects are 1D-arrays containing integers <= 1E6. > > The unittest script looks like: > > if __name__=='__main__': > from Data import * > from Utils import * > import unittest > > <snip> > def test__eq__(self): > """__eq__ should return True with identical array data""" > self.assert_(self.test1 == self.test2) > <snip> > suite = unittest.TestSuite() > suite.addTest(unittest.makeSuite(Test_SAXS_Sanity)) > <snip> > unittest.TextTestRunner(verbosity=1).run(suite) > > Any ideas what I have to change? (Possibly trivial, but I have no clue.)
self.assert_((self.test1 == self.test2).all()) I'm afraid that your test was always broken. Numeric used the convention that if *any* value in a boolean array was True, then the array would evaluate to True when used as a truth value in an if: clause. However, you almost certainly wanted to test that *all* of the values were True. This is why we now raise an exception; lots of people got tripped up over that. -- 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 ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion