From aa464505cbe3e04b54a54dee71de8b205697bb50 Mon Sep 17 00:00:00 2001 From: Ansgar Philippsen <ansgar.philippsen@gmail.com> Date: Tue, 2 Aug 2011 11:24:30 -0400 Subject: [PATCH] fixed numpy detection for some tests --- modules/base/pymod/wrap_base.cc | 1 + modules/gfx/tests/test_gfx.py | 12 ++++-- modules/mol/base/tests/test_numpy.py | 64 ++++++++++++++++------------ 3 files changed, 45 insertions(+), 32 deletions(-) diff --git a/modules/base/pymod/wrap_base.cc b/modules/base/pymod/wrap_base.cc index 1ba0b1571..93e9b630a 100644 --- a/modules/base/pymod/wrap_base.cc +++ b/modules/base/pymod/wrap_base.cc @@ -50,6 +50,7 @@ BOOST_PYTHON_MODULE(_ost_base) scope().attr("VERSION_MAJOR")=OST_VERSION_MAJOR; scope().attr("VERSION_MINOR")=OST_VERSION_MINOR; scope().attr("VERSION_PATCH")=OST_VERSION_PATCH; + scope().attr("WITH_NUMPY")= OST_NUMPY_SUPPORT_ENABLED; export_Logger(); export_Range(); export_Units(); diff --git a/modules/gfx/tests/test_gfx.py b/modules/gfx/tests/test_gfx.py index ff6e462e7..f6c5f8f6e 100644 --- a/modules/gfx/tests/test_gfx.py +++ b/modules/gfx/tests/test_gfx.py @@ -9,11 +9,15 @@ import ost.mol as mol import ost.gfx as gfx import ost.geom as geom -has_numpy=True -import numpy -if not has_numpy: +if ost.WITH_NUMPY: + has_numpy=True + try: + import numpy + except ImportError, e: + has_numpy=False +else: has_numpy=False - + def col_delta(c1,c2): return geom.Distance(geom.Vec3(c1[0],c1[1],c1[2]),geom.Vec3(c2[0],c2[1],c2[2])) diff --git a/modules/mol/base/tests/test_numpy.py b/modules/mol/base/tests/test_numpy.py index 14496c0c0..217ed89dd 100644 --- a/modules/mol/base/tests/test_numpy.py +++ b/modules/mol/base/tests/test_numpy.py @@ -1,17 +1,25 @@ import unittest -from ost import * +if __name__== '__main__': + import sys + sys.path.insert(0,"../../../../stage/lib64/openstructure/") + sys.path.insert(0,"../../../../stage/lib/openstructure/") + +import ost -has_numpy=True -try: - import numpy -except ImportError: +if ost.WITH_NUMPY: + has_numpy=True + try: + import numpy + except ImportError, e: + has_numpy=False +else: has_numpy=False def v2v(v): - return geom.Vec3(float(v[0]),float(v[1]),float(v[2])) + return ost.geom.Vec3(float(v[0]),float(v[1]),float(v[2])) def dd(v1,v2): - return geom.Distance(v1,v2)<1e-8 + return ost.geom.Distance(v1,v2)<1e-8 class TestNumpy(unittest.TestCase): def setUp(self): @@ -20,46 +28,46 @@ class TestNumpy(unittest.TestCase): def test_(self): if not has_numpy: return - entity=mol.CreateEntity() + entity=ost.mol.CreateEntity() ed=entity.EditXCS() ch=ed.InsertChain("X") re=ed.AppendResidue(ch,"ALA") - a0=ed.InsertAtom(re,"A",geom.Vec3(0,0,0)) + a0=ed.InsertAtom(re,"A",ost.geom.Vec3(0,0,0)) self.assertEqual(a0.GetIndex(),0) - a1=ed.InsertAtom(re,"B",geom.Vec3(1,0,0)) + a1=ed.InsertAtom(re,"B",ost.geom.Vec3(1,0,0)) self.assertEqual(a1.GetIndex(),1) - a2=ed.InsertAtom(re,"C",geom.Vec3(2,0,0)) + a2=ed.InsertAtom(re,"C",ost.geom.Vec3(2,0,0)) self.assertEqual(a2.GetIndex(),2) - a3=ed.InsertAtom(re,"D",geom.Vec3(3,0,0)) + a3=ed.InsertAtom(re,"D",ost.geom.Vec3(3,0,0)) self.assertEqual(a3.GetIndex(),3) - self.assertTrue(dd(a0.pos,geom.Vec3(0,0,0))) - self.assertTrue(dd(a1.pos,geom.Vec3(1,0,0))) - self.assertTrue(dd(a2.pos,geom.Vec3(2,0,0))) - self.assertTrue(dd(a3.pos,geom.Vec3(3,0,0))) + self.assertTrue(dd(a0.pos,ost.geom.Vec3(0,0,0))) + self.assertTrue(dd(a1.pos,ost.geom.Vec3(1,0,0))) + self.assertTrue(dd(a2.pos,ost.geom.Vec3(2,0,0))) + self.assertTrue(dd(a3.pos,ost.geom.Vec3(3,0,0))) ed.SetAtomTransformedPos(entity.GetAtomList(), numpy.array([[0,1,0],[0,2,0],[0,3,0],[0,4,0]], dtype=numpy.float32)) - self.assertTrue(dd(a0.pos,geom.Vec3(0,1,0))) - self.assertTrue(dd(a1.pos,geom.Vec3(0,2,0))) - self.assertTrue(dd(a2.pos,geom.Vec3(0,3,0))) - self.assertTrue(dd(a3.pos,geom.Vec3(0,4,0))) + self.assertTrue(dd(a0.pos,ost.geom.Vec3(0,1,0))) + self.assertTrue(dd(a1.pos,ost.geom.Vec3(0,2,0))) + self.assertTrue(dd(a2.pos,ost.geom.Vec3(0,3,0))) + self.assertTrue(dd(a3.pos,ost.geom.Vec3(0,4,0))) na=entity.positions - self.assertTrue(dd(v2v(na[0]),geom.Vec3(0,1,0))) - self.assertTrue(dd(v2v(na[1]),geom.Vec3(0,2,0))) - self.assertTrue(dd(v2v(na[2]),geom.Vec3(0,3,0))) - self.assertTrue(dd(v2v(na[3]),geom.Vec3(0,4,0))) + self.assertTrue(dd(v2v(na[0]),ost.geom.Vec3(0,1,0))) + self.assertTrue(dd(v2v(na[1]),ost.geom.Vec3(0,2,0))) + self.assertTrue(dd(v2v(na[2]),ost.geom.Vec3(0,3,0))) + self.assertTrue(dd(v2v(na[3]),ost.geom.Vec3(0,4,0))) ed.SetAtomTransformedPos([3,99,2], numpy.array([[0,0,-3],[-1,-1,-1],[0,0,-2]], dtype=numpy.float32)) - self.assertTrue(dd(a0.pos,geom.Vec3(0,1,0))) - self.assertTrue(dd(a1.pos,geom.Vec3(0,2,0))) - self.assertTrue(dd(a2.pos,geom.Vec3(0,0,-2))) - self.assertTrue(dd(a3.pos,geom.Vec3(0,0,-3))) + self.assertTrue(dd(a0.pos,ost.geom.Vec3(0,1,0))) + self.assertTrue(dd(a1.pos,ost.geom.Vec3(0,2,0))) + self.assertTrue(dd(a2.pos,ost.geom.Vec3(0,0,-2))) + self.assertTrue(dd(a3.pos,ost.geom.Vec3(0,0,-3))) if __name__== '__main__': unittest.main() -- GitLab