diff options
Diffstat (limited to 'CSXCAD/python/tests/test_CSRectGrid.py')
-rw-r--r-- | CSXCAD/python/tests/test_CSRectGrid.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/CSXCAD/python/tests/test_CSRectGrid.py b/CSXCAD/python/tests/test_CSRectGrid.py new file mode 100644 index 0000000..ddefb9a --- /dev/null +++ b/CSXCAD/python/tests/test_CSRectGrid.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +""" +Created on Sat Dec 12 22:04:58 2015 + +@author: thorsten +""" + +import numpy as np + +from CSXCAD import CSRectGrid + +import unittest + +class Test_CSRectGrid(unittest.TestCase): + def test_rect_grid(self): + + grid = CSRectGrid.CSRectGrid(CoordSystem=0) + + self.assertEqual( grid.GetMeshType(), 0 ) + + grid.SetMeshType(1) + self.assertEqual( grid.GetMeshType(), 1 ) + + grid.SetLines('x', [0, 1, 2]) + grid.SetLines('y', [-2,0, 1]) + self.assertEqual( grid.GetQtyLines('y'), 3 ) + grid.AddLine('y',4) + self.assertEqual( grid.GetQtyLines('y'), 4 ) + grid.AddLine('y',[4, 2, 5]) + self.assertEqual( grid.GetQtyLines('y'), 7 ) + self.assertTrue( (grid.GetLines('y')==np.array([-2., 0., 1., 4., 4., 2., 5.])).all() ) # check unsorted lines + grid.Sort('y') + self.assertTrue( (grid.GetLines('y')==np.array([-2., 0., 1., 2., 4., 5.])).all() ) + self.assertEqual( grid.GetQtyLines('y'), 6 ) + + grid.SetLines('z', [10, 11, 12]) + + self.assertEqual( grid.GetLine('y', 1), 0.0 ) + + self.assertEqual( grid.GetQtyLines('x'), 3 ) + + grid.SetDeltaUnit(1e-3) + self.assertEqual( grid.GetDeltaUnit(), 1e-3 ) + + self.assertTrue( grid.IsValid() ) + + # check grid snapping + self.assertEqual( grid.Snap2LineNumber('y', 1), (2,True) ) + self.assertEqual( grid.Snap2LineNumber('y', 1.1), (2,True) ) + self.assertEqual( grid.Snap2LineNumber('y', 1.5), (3,True) ) + self.assertEqual( grid.Snap2LineNumber('y', 1.6), (3,True) ) + self.assertEqual( grid.Snap2LineNumber('y', 5.0), (5,True) ) + self.assertEqual( grid.Snap2LineNumber('y', 5.01), (5,False) ) + + self.assertEqual( grid.Snap2LineNumber('y', -2.0), (0,True) ) + self.assertEqual( grid.Snap2LineNumber('y', -2.01), (0,False) ) + + self.assertTrue( (grid.GetSimArea() == np.array([[0, -2, 10],[2, 5, 12]])).all() ) + + grid.ClearLines('x') + self.assertEqual( grid.GetQtyLines('x'), 0 ) + self.assertEqual( grid.GetQtyLines('y'), 6 ) + self.assertEqual( grid.GetQtyLines('z'), 3 ) + + self.assertFalse( grid.IsValid() ) + + grid.Clear() + self.assertEqual( grid.GetQtyLines('y'), 0 ) + + self.assertFalse( grid.IsValid() ) + +if __name__ == '__main__': + unittest.main()
\ No newline at end of file |