mirror of
https://github.com/boostorg/python.git
synced 2026-01-27 19:12:16 +00:00
ufunc test now uses assert_array_almost_equal instead of bitwise(?) comparison
This commit is contained in:
@@ -3,48 +3,49 @@
|
||||
import ufunc_mod
|
||||
import unittest
|
||||
import numpy
|
||||
from numpy.testing.utils import assert_array_almost_equal
|
||||
|
||||
class TestUnary(unittest.TestCase):
|
||||
|
||||
def testScalar(self):
|
||||
f = ufunc_mod.UnaryCallable()
|
||||
self.assertEqual(f(1.0), 2.0)
|
||||
self.assertEqual(f(3.0), 6.0)
|
||||
assert_array_almost_equal(f(1.0), 2.0)
|
||||
assert_array_almost_equal(f(3.0), 6.0)
|
||||
|
||||
def testArray(self):
|
||||
f = ufunc_mod.UnaryCallable()
|
||||
a = numpy.arange(5, dtype=float)
|
||||
b = f(a)
|
||||
self.assert_((b == a*2.0).all())
|
||||
assert_array_almost_equal(b, a*2.0)
|
||||
c = numpy.zeros(5, dtype=float)
|
||||
d = f(a,output=c)
|
||||
self.assert_((c == a*2.0).all())
|
||||
self.assert_((d == a*2.0).all())
|
||||
assert_array_almost_equal(c, a*2.0)
|
||||
assert_array_almost_equal(d, a*2.0)
|
||||
|
||||
def testList(self):
|
||||
f = ufunc_mod.UnaryCallable()
|
||||
a = range(5)
|
||||
b = f(a)
|
||||
self.assert_((b/2.0 == a).all())
|
||||
assert_array_almost_equal(b/2.0, a)
|
||||
|
||||
class TestBinary(unittest.TestCase):
|
||||
|
||||
def testScalar(self):
|
||||
f = ufunc_mod.BinaryCallable()
|
||||
self.assertEqual(f(1.0, 3.0), 11.0)
|
||||
self.assertEqual(f(3.0, 2.0), 12.0)
|
||||
assert_array_almost_equal(f(1.0, 3.0), 11.0)
|
||||
assert_array_almost_equal(f(3.0, 2.0), 12.0)
|
||||
|
||||
def testArray(self):
|
||||
f = ufunc_mod.BinaryCallable()
|
||||
a = numpy.random.randn(5)
|
||||
b = numpy.random.randn(5)
|
||||
self.assert_((f(a,b) == (a*2+b*3)).all())
|
||||
assert_array_almost_equal(f(a,b), (a*2+b*3))
|
||||
c = numpy.zeros(5, dtype=float)
|
||||
d = f(a,b,output=c)
|
||||
self.assert_((c == a*2 + b*3).all())
|
||||
self.assert_((d == a*2 + b*3).all())
|
||||
self.assert_((f(a, 2.0) == a*2 + 6.0).all())
|
||||
self.assert_((f(1.0, b) == 2.0 + b*3).all())
|
||||
assert_array_almost_equal(c, a*2 + b*3)
|
||||
assert_array_almost_equal(d, a*2 + b*3)
|
||||
assert_array_almost_equal(f(a, 2.0), a*2 + 6.0)
|
||||
assert_array_almost_equal(f(1.0, b), 2.0 + b*3)
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
|
||||
Reference in New Issue
Block a user