Salome HOME
On the road of ParaMEDReader for fields.
[modules/med.git] / src / MEDCoupling_Swig / MEDCouplingBasicsTest.py
index 19301bb7d4680e3efd9825fd4c9f3e19a6692ac1..e0334fbea7971a79fe7571746056984eb350bb1d 100644 (file)
@@ -15905,6 +15905,59 @@ class MEDCouplingBasicsTest(unittest.TestCase):
         self.assertTrue(d.isEqual(DataArrayDouble([(7.,7.),(7.,7.),(7.,7.)]),1e-12))
         pass
 
+    def testSwig2PointSetComputeFetchedNodeIds1(self):
+        arr=DataArrayDouble(6) ; arr.iota()
+        m=MEDCouplingCMesh() ; m.setCoords(arr,arr,arr)
+        m=m.buildUnstructured()
+        m0=m[[0,1,5,6,25,26,30,31,124]]
+        ref=DataArrayInt([0,1,2,6,7,8,12,13,14,36,37,38,42,43,44,48,49,50,72,73,74,78,79,80,84,85,86,172,173,178,179,208,209,214,215])
+        self.assertTrue(m0.computeFetchedNodeIds().isEqual(ref))
+        self.assertTrue(MEDCoupling1SGTUMesh(m0).computeFetchedNodeIds().isEqual(ref))
+        self.assertEqual(m0.getAllGeoTypes(),[NORM_HEXA8])
+        m0.convertAllToPoly()
+        self.assertEqual(m0.getAllGeoTypes(),[NORM_POLYHED])
+        self.assertTrue(MEDCoupling1DGTUMesh(m0).computeFetchedNodeIds().isEqual(ref))
+        pass
+
+    def testSwig2PartDefinition1(self):
+        pd=PartDefinition.New(5,22,3)
+        self.assertTrue(isinstance(pd,SlicePartDefinition))
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([5,8,11,14,17,20])))
+        self.assertEqual(pd.getNumberOfElems(),6)
+        self.assertEqual(pd.getEffectiveStop(),23)
+        pd=PartDefinition.New(5,23,3)
+        self.assertTrue(isinstance(pd,SlicePartDefinition))
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([5,8,11,14,17,20])))
+        self.assertEqual(pd.getNumberOfElems(),6)
+        self.assertEqual(pd.getEffectiveStop(),23)
+        self.assertEqual(pd.getSlice(),slice(5,23,3))
+        pd=PartDefinition.New(5,22,1)
+        self.assertTrue(isinstance(pd,SlicePartDefinition))
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])))
+        self.assertEqual(pd.getNumberOfElems(),17)
+        self.assertEqual(pd.getEffectiveStop(),22)
+        pd=PartDefinition.New(5,23,3)+PartDefinition.New(23,27,3)
+        self.assertTrue(isinstance(pd,SlicePartDefinition))
+        self.assertEqual(pd.getNumberOfElems(),8)
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([5,8,11,14,17,20,23,26])))
+        self.assertEqual(pd.getEffectiveStop(),29)
+        pd=SlicePartDefinition(5,22,1)
+        self.assertTrue(isinstance(pd,SlicePartDefinition))
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])))
+        self.assertEqual(pd.getNumberOfElems(),17)
+        self.assertEqual(pd.getEffectiveStop(),22)
+        d=DataArrayInt([2,4,5,6,10])
+        pd=PartDefinition.New(d)
+        self.assertTrue(isinstance(pd,DataArrayPartDefinition))
+        self.assertEqual(pd.toDAI().getHiddenCppPointer(),d.getHiddenCppPointer())
+        pd=DataArrayPartDefinition(d)
+        self.assertEqual(pd.toDAI().getHiddenCppPointer(),d.getHiddenCppPointer())
+        pd=DataArrayPartDefinition(d)+DataArrayPartDefinition(DataArrayInt([12,14,20]))
+        self.assertTrue(isinstance(pd,DataArrayPartDefinition))
+        self.assertEqual(pd.getNumberOfElems(),8)
+        self.assertTrue(pd.toDAI().isEqual(DataArrayInt([2,4,5,6,10,12,14,20])))
+        pass
+
     pass
 
 if __name__ == '__main__':