Salome HOME
Fixed problem with dump study and small optimization:
[modules/kernel.git] / src / SALOMEDS / Test / SALOMEDSTest_StudyBuilder.cxx
index 109ac0e2d6a01bfdf92058840eac6ba6c9a3c48f..d1c6e903699d6c089645ee7c1cb7b1719190ed16 100755 (executable)
@@ -1,18 +1,20 @@
-// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-// 
+//
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either 
-// version 2.1 of the License.
-// 
-// This library is distributed in the hope that it will be useful 
-// but WITHOUT ANY WARRANTY; without even the implied warranty of 
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // Lesser General Public License for more details.
 //
-// You should have received a copy of the GNU Lesser General Public  
-// License along with this library; if not, write to the Free Software 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 
 void SALOMEDSTest::testStudyBuilder()
 {
-  //Create or find the Study manager
-  _PTR(StudyManager) sm ( new SALOMEDS_StudyManager(_sm) );
-
-  CPPUNIT_ASSERT(sm);
-
-  //Create a new study
-  _PTR(Study) study = sm->NewStudy("TestStudyBuilder");
+  //Create Study
+  _PTR(Study) study(new SALOMEDS_Study(_study));
 
   CPPUNIT_ASSERT(study);
 
@@ -46,9 +43,9 @@ void SALOMEDSTest::testStudyBuilder()
   CPPUNIT_ASSERT(sco1 && sco1->ComponentDataType() == "Test");
 
   //Check method DefineComponentInstance
-  string ior = _orb->object_to_string(_sm);
+  std::string ior = _orb->object_to_string(_study);
   studyBuilder->DefineComponentInstance(sco1, ior);
-  string newior;
+  std::string newior;
   sco1->ComponentIOR(newior);
   CPPUNIT_ASSERT(newior == ior);
 
@@ -67,12 +64,12 @@ void SALOMEDSTest::testStudyBuilder()
   //Check method NewObject
   _PTR(SObject) so1 = studyBuilder->NewObject(sco3);
   CPPUNIT_ASSERT(so1);
-  string id1 = so1->GetID();
+  std::string id1 = so1->GetID();
 
   //Check method NewObjectToTag
   _PTR(SObject) so2 = studyBuilder->NewObjectToTag(so1, 2);
   CPPUNIT_ASSERT(so2 && so2->Tag() == 2);
-  string id2 = so2->GetID();
+  std::string id2 = so2->GetID();
 
   //Check method FindOrCreateAttribute
   _PTR(SObject) so3 = studyBuilder->NewObject(sco3);
@@ -128,7 +125,7 @@ void SALOMEDSTest::testStudyBuilder()
   CPPUNIT_ASSERT(!so2->ReferencedObject(refSO));
 
   //Check method SetGUID and IsGUID
-  string value = "0e1c36e6-379b-4d90-ab3b-17a14310e648";
+  std::string value = "0e1c36e6-379b-4d90-ab3b-17a14310e648";
   studyBuilder->SetGUID(so1, value);
 
   CPPUNIT_ASSERT(studyBuilder->IsGUID(so1, value));
@@ -163,10 +160,10 @@ void SALOMEDSTest::testStudyBuilder()
   studyBuilder->SetIOR(so1, ior);
   CPPUNIT_ASSERT(so1->GetIOR() == ior);
 
-  sm->Close(study);
+  study->Clear();
 
   //Check method LoadWith
-  _PTR(Study) study2 = sm->NewStudy("Study2");
+  _PTR(Study) study2(new SALOMEDS_Study(new SALOMEDSImpl_Study()));
   
   SALOME_NamingService NS(_orb);
   CORBA::Object_var obj = SALOME_LifeCycleCORBA(&NS).FindOrLoad_Component("FactoryServer", "SMESH");
@@ -183,10 +180,11 @@ void SALOMEDSTest::testStudyBuilder()
   ior = _orb->object_to_string(drv);
   sb2->DefineComponentInstance(sco, ior);
 
-  sm->SaveAs("srn_SALOMEDS_UnitTests.hdf", study2, false);
-  sm->Close(study2);
+  study2->SaveAs("srn_SALOMEDS_UnitTests.hdf", false);
+  study2->Clear();
 
-  _PTR(Study) study3 = sm->Open("srn_SALOMEDS_UnitTests.hdf");
+  _PTR(Study) study3(new SALOMEDS_Study(new SALOMEDSImpl_Study()));
+  study3->Open("srn_SALOMEDS_UnitTests.hdf");
   _PTR(StudyBuilder) sb3 = study3->NewBuilder();
   _PTR(SComponent) aComp = study3->FindComponent("SMESH");
   CPPUNIT_ASSERT(aComp);
@@ -205,7 +203,6 @@ void SALOMEDSTest::testStudyBuilder()
     isRaised = true;
   }
 
-
   CPPUNIT_ASSERT(!isRaised);
 
   ior = "";
@@ -246,5 +243,5 @@ void SALOMEDSTest::testStudyBuilder()
   }
   CPPUNIT_ASSERT(isRaised);
 
-  sm->Close(study3);  
+  study3->Clear();
 }