Salome HOME
Fixed problem with dump study and small optimization:
[modules/kernel.git] / src / SALOMEDS / Test / SALOMEDSTest_StudyBuilder.cxx
index f8c9af515613949c67489ba2c3dea817cce26de4..d1c6e903699d6c089645ee7c1cb7b1719190ed16 100755 (executable)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// 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
@@ -6,7 +6,7 @@
 // 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.
+// 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
 
 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);
 
@@ -48,7 +43,7 @@ void SALOMEDSTest::testStudyBuilder()
   CPPUNIT_ASSERT(sco1 && sco1->ComponentDataType() == "Test");
 
   //Check method DefineComponentInstance
-  std::string ior = _orb->object_to_string(_sm);
+  std::string ior = _orb->object_to_string(_study);
   studyBuilder->DefineComponentInstance(sco1, ior);
   std::string newior;
   sco1->ComponentIOR(newior);
@@ -165,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");
@@ -185,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);
@@ -207,7 +203,6 @@ void SALOMEDSTest::testStudyBuilder()
     isRaised = true;
   }
 
-
   CPPUNIT_ASSERT(!isRaised);
 
   ior = "";
@@ -248,5 +243,5 @@ void SALOMEDSTest::testStudyBuilder()
   }
   CPPUNIT_ASSERT(isRaised);
 
-  sm->Close(study3);  
+  study3->Clear();
 }