Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/med.git] / src / MedClient / test / test1 / TestMedCorba1.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 import os
25 BASE = os.environ["MED_ROOT_DIR"]
26 BASE = os.path.join( BASE, 'share', 'salome', 'resources', 'med' )
27
28 fileName = os.path.join( BASE, 'pointe.med' )
29 fileName = os.path.join( BASE, 'carre_en_quad4_seg2.med' )
30 fileName = os.path.join( BASE, 'test_hydro_darcy1a_out.med' )
31
32 # MED Mesh read from a (local) file
33
34 from libMEDMEM_Swig import *
35
36 md = MED()
37
38 mdDriver = MED_MED_RDONLY_DRIVER(fileName, md)
39
40 mdDriver.open()
41 mdDriver.readFileStruct()
42 mdDriver.close()
43
44 mLocal = md.getMesh(md.getMeshName(0))
45 mLocal.read()
46
47 # MED Mesh recieved from a distant component (via CORBA)
48
49 from omniORB import CORBA
50 from LifeCycleCORBA import *
51 #CCRTfrom libSALOME_Swig import *
52
53 orb = CORBA.ORB_init([''], CORBA.ORB_ID)
54 lcc = LifeCycleCORBA(orb)
55
56 C = lcc.FindOrLoadComponent("FactoryServerPy", "Compo1Py")
57 C.Initialise(fileName)
58
59 mDistant = C.Calcul1()
60
61 # Compare local and distant copies
62
63 def ecart(x, y):
64     s = 0.
65     if (len(x) != len(y)):
66         return 1.
67     
68     for i in xrange(len(x)):
69         s = s + abs(x[i] - y[i]);
70     return s
71
72 def compare(x, y):
73     if (len(x) != len(y)):
74         return 0
75     for i in xrange(len(x)):
76         if x[i] != y[i]:
77             return 0
78     return 1
79
80 print "Name              : ", mDistant.getName()
81 if (mLocal.getName() != mDistant.getName()):
82     raise RuntimeError, "MESH::getName()"
83
84 print "SpaceDimension    : ", mDistant.getSpaceDimension()
85 if (mLocal.getSpaceDimension() != mDistant.getSpaceDimension()):
86     raise RuntimeError, "MESH::getSpaceDimension()"
87
88 print "MeshDimension     : ", mDistant.getMeshDimension()
89 if (mLocal.getMeshDimension() != mDistant.getMeshDimension()):
90     raise RuntimeError, "MESH::getMeshDimension()"
91
92 print "CoordinatesSystem : ", mDistant.getCoordinatesSystem()
93 if (mLocal.getCoordinatesSystem() != mDistant.getCoordinatesSystem()):
94     raise RuntimeError, "MESH::getCoordinatesSystem()"
95
96 print "NumberOfNodes     : ", mDistant.getNumberOfNodes()
97 if (mLocal.getNumberOfNodes() != mDistant.getNumberOfNodes()):
98     raise RuntimeError, "MESH::getNumberOfNodes()"
99
100
101 print
102 print "All tests passed"