Skip to content
Snippets Groups Projects
Commit aa464505 authored by Ansgar Philippsen's avatar Ansgar Philippsen
Browse files

fixed numpy detection for some tests

parent 9d1c0d6d
No related branches found
No related tags found
No related merge requests found
...@@ -50,6 +50,7 @@ BOOST_PYTHON_MODULE(_ost_base) ...@@ -50,6 +50,7 @@ BOOST_PYTHON_MODULE(_ost_base)
scope().attr("VERSION_MAJOR")=OST_VERSION_MAJOR; scope().attr("VERSION_MAJOR")=OST_VERSION_MAJOR;
scope().attr("VERSION_MINOR")=OST_VERSION_MINOR; scope().attr("VERSION_MINOR")=OST_VERSION_MINOR;
scope().attr("VERSION_PATCH")=OST_VERSION_PATCH; scope().attr("VERSION_PATCH")=OST_VERSION_PATCH;
scope().attr("WITH_NUMPY")= OST_NUMPY_SUPPORT_ENABLED;
export_Logger(); export_Logger();
export_Range(); export_Range();
export_Units(); export_Units();
......
...@@ -9,11 +9,15 @@ import ost.mol as mol ...@@ -9,11 +9,15 @@ import ost.mol as mol
import ost.gfx as gfx import ost.gfx as gfx
import ost.geom as geom import ost.geom as geom
has_numpy=True if ost.WITH_NUMPY:
import numpy has_numpy=True
if not has_numpy: try:
import numpy
except ImportError, e:
has_numpy=False
else:
has_numpy=False has_numpy=False
def col_delta(c1,c2): def col_delta(c1,c2):
return geom.Distance(geom.Vec3(c1[0],c1[1],c1[2]),geom.Vec3(c2[0],c2[1],c2[2])) return geom.Distance(geom.Vec3(c1[0],c1[1],c1[2]),geom.Vec3(c2[0],c2[1],c2[2]))
......
import unittest 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 if ost.WITH_NUMPY:
try: has_numpy=True
import numpy try:
except ImportError: import numpy
except ImportError, e:
has_numpy=False
else:
has_numpy=False has_numpy=False
def v2v(v): 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): def dd(v1,v2):
return geom.Distance(v1,v2)<1e-8 return ost.geom.Distance(v1,v2)<1e-8
class TestNumpy(unittest.TestCase): class TestNumpy(unittest.TestCase):
def setUp(self): def setUp(self):
...@@ -20,46 +28,46 @@ class TestNumpy(unittest.TestCase): ...@@ -20,46 +28,46 @@ class TestNumpy(unittest.TestCase):
def test_(self): def test_(self):
if not has_numpy: if not has_numpy:
return return
entity=mol.CreateEntity() entity=ost.mol.CreateEntity()
ed=entity.EditXCS() ed=entity.EditXCS()
ch=ed.InsertChain("X") ch=ed.InsertChain("X")
re=ed.AppendResidue(ch,"ALA") 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) 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) 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) 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.assertEqual(a3.GetIndex(),3)
self.assertTrue(dd(a0.pos,geom.Vec3(0,0,0))) self.assertTrue(dd(a0.pos,ost.geom.Vec3(0,0,0)))
self.assertTrue(dd(a1.pos,geom.Vec3(1,0,0))) self.assertTrue(dd(a1.pos,ost.geom.Vec3(1,0,0)))
self.assertTrue(dd(a2.pos,geom.Vec3(2,0,0))) self.assertTrue(dd(a2.pos,ost.geom.Vec3(2,0,0)))
self.assertTrue(dd(a3.pos,geom.Vec3(3,0,0))) self.assertTrue(dd(a3.pos,ost.geom.Vec3(3,0,0)))
ed.SetAtomTransformedPos(entity.GetAtomList(), ed.SetAtomTransformedPos(entity.GetAtomList(),
numpy.array([[0,1,0],[0,2,0],[0,3,0],[0,4,0]], dtype=numpy.float32)) 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(a0.pos,ost.geom.Vec3(0,1,0)))
self.assertTrue(dd(a1.pos,geom.Vec3(0,2,0))) self.assertTrue(dd(a1.pos,ost.geom.Vec3(0,2,0)))
self.assertTrue(dd(a2.pos,geom.Vec3(0,3,0))) self.assertTrue(dd(a2.pos,ost.geom.Vec3(0,3,0)))
self.assertTrue(dd(a3.pos,geom.Vec3(0,4,0))) self.assertTrue(dd(a3.pos,ost.geom.Vec3(0,4,0)))
na=entity.positions na=entity.positions
self.assertTrue(dd(v2v(na[0]),geom.Vec3(0,1,0))) self.assertTrue(dd(v2v(na[0]),ost.geom.Vec3(0,1,0)))
self.assertTrue(dd(v2v(na[1]),geom.Vec3(0,2,0))) self.assertTrue(dd(v2v(na[1]),ost.geom.Vec3(0,2,0)))
self.assertTrue(dd(v2v(na[2]),geom.Vec3(0,3,0))) self.assertTrue(dd(v2v(na[2]),ost.geom.Vec3(0,3,0)))
self.assertTrue(dd(v2v(na[3]),geom.Vec3(0,4,0))) self.assertTrue(dd(v2v(na[3]),ost.geom.Vec3(0,4,0)))
ed.SetAtomTransformedPos([3,99,2], ed.SetAtomTransformedPos([3,99,2],
numpy.array([[0,0,-3],[-1,-1,-1],[0,0,-2]], dtype=numpy.float32)) 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(a0.pos,ost.geom.Vec3(0,1,0)))
self.assertTrue(dd(a1.pos,geom.Vec3(0,2,0))) self.assertTrue(dd(a1.pos,ost.geom.Vec3(0,2,0)))
self.assertTrue(dd(a2.pos,geom.Vec3(0,0,-2))) self.assertTrue(dd(a2.pos,ost.geom.Vec3(0,0,-2)))
self.assertTrue(dd(a3.pos,geom.Vec3(0,0,-3))) self.assertTrue(dd(a3.pos,ost.geom.Vec3(0,0,-3)))
if __name__== '__main__': if __name__== '__main__':
unittest.main() unittest.main()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment