Salome HOME
Merge branch 'omu/Launcher9'
[modules/kernel.git] / src / SALOMEDS / Test / SALOMEDSTest_Study.cxx
index 4e5769bc53ce9617ad54f17d295a9f6791858277..3c1574cc94b279aaa22d284d64f6857a102cc17a 100755 (executable)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  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
 
 void SALOMEDSTest::testStudy()
 {
-  //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("Test");
+  //Create Study
+  _PTR(Study) study(new SALOMEDS_Study(_study));
 
   //Check the creation of the study
   CPPUNIT_ASSERT(study);
@@ -47,18 +42,6 @@ void SALOMEDSTest::testStudy()
 
   CPPUNIT_ASSERT(componentIterator);
 
-  //Check method GetTransientReference
-  CPPUNIT_ASSERT(!study->GetTransientReference().empty());
-
-  //Check method StudyId
-  CPPUNIT_ASSERT(study->StudyId() > 0);
-
-  //Check method Name (get/set)
-  CPPUNIT_ASSERT(study->Name() == "Test");
-  study->Name("New name");
-  CPPUNIT_ASSERT(study->Name() == "New name");
-  study->Name("Test");
-
   //Check method URL (get/set)
   study->URL("");
   CPPUNIT_ASSERT(study->URL() == "");
@@ -79,7 +62,7 @@ void SALOMEDSTest::testStudy()
   CPPUNIT_ASSERT(so);
 
   //Try to create SObject with empty and invalid entries
-  CPPUNIT_ASSERT(!study->CreateObjectID(""));
+  //CPPUNIT_ASSERT(!study->CreateObjectID(""));
   CPPUNIT_ASSERT(!study->CreateObjectID("entry"));
 
   //Check method NewChildIterator
@@ -101,10 +84,6 @@ void SALOMEDSTest::testStudy()
   //Try to find component with empty type
   CPPUNIT_ASSERT(!study->FindComponent(""));
 
-  //Check method GetComponentNames
-  std::vector<std::string> components = study->GetComponentNames(""); //The context doesn't matter
-  CPPUNIT_ASSERT(components.size() == 1 && components[0] == "sco1");
-
   //Check method FindComponentID
   _PTR(SComponent) sco3 = study->FindComponentID(sco1->GetID());
   CPPUNIT_ASSERT(sco3 && sco3->GetID() == sco1->GetID());
@@ -122,7 +101,7 @@ void SALOMEDSTest::testStudy()
   _PTR(AttributeIOR) ior_attr_so1 = studyBuilder->FindOrCreateAttribute(so1, "AttributeIOR");
   CPPUNIT_ASSERT(ior_attr_so1);
 
-  std::string ior = _orb->object_to_string(_sm);
+  std::string ior = _orb->object_to_string(_study);
   ior_attr_so1->SetValue(ior);
   
   _PTR(SObject) so2 = studyBuilder->NewObject(so1);
@@ -143,7 +122,7 @@ void SALOMEDSTest::testStudy()
   CPPUNIT_ASSERT(so4 && so4->GetID() == so1->GetID());
 
   //Try to find SObject with empty ID
-  CPPUNIT_ASSERT(!study->FindObjectID(""));
+  //CPPUNIT_ASSERT(!study->FindObjectID(""));
 
   //Check method FindObjectByName
   std::vector< _PTR(SObject) > v = study->FindObjectByName("so1", sco1->ComponentDataType());
@@ -171,10 +150,6 @@ void SALOMEDSTest::testStudy()
   path = study->GetObjectPath(emptySO);
   CPPUNIT_ASSERT(path.empty());
 
-  //Check method SetContext
-  study->SetContext("/sco1"); 
-  CPPUNIT_ASSERT(study->GetContext() == "/sco1");
-
   //Check method FindObjectByPath
   _PTR(SObject) so6 = study->FindObjectByPath("so1");
   CPPUNIT_ASSERT(so6 && so6->GetID() == so1->GetID());
@@ -184,52 +159,18 @@ void SALOMEDSTest::testStudy()
   _PTR(SObject) tmp = study->FindObjectByPath(""); //Must return the Context SObject
   CPPUNIT_ASSERT(tmp && tmp->GetID() == sco1->GetID());
 
-  study->SetContext("/"); //Root
-
-  //Check method GetObjectNames
-  std::vector<std::string> vs = study->GetObjectNames("/sco1");  
-  CPPUNIT_ASSERT(vs.size() == 2);
-    
-  //Check method GetDirectoryNames
-  _PTR(AttributeLocalID) locid_attr_sco1 = studyBuilder->FindOrCreateAttribute(sco1, "AttributeLocalID");
-  CPPUNIT_ASSERT(locid_attr_sco1);
-  locid_attr_sco1->SetValue(16661); //DIRECTORYID
-  _PTR(AttributeLocalID) locid_attr_so1 = studyBuilder->FindOrCreateAttribute(so1, "AttributeLocalID");
-  CPPUNIT_ASSERT(locid_attr_so1);
-  locid_attr_so1->SetValue(16661); //DIRECTORYID
-  vs = study->GetDirectoryNames(""); //Empty context (the current is taken)
-  CPPUNIT_ASSERT(vs.size() == 2);
-
-  //Check method GetFileNames
-  locid_attr_sco1->SetValue(26662); //FILELOCALID
-  _PTR(AttributePersistentRef) persref_attr_sco1 = studyBuilder->FindOrCreateAttribute(sco1, "AttributePersistentRef");
-  CPPUNIT_ASSERT(persref_attr_sco1);
-  persref_attr_sco1->SetValue("FILE: filename1");
-  locid_attr_so1->SetValue(26662); //FILELOCALID
-  _PTR(AttributePersistentRef) persref_attr_so1 = studyBuilder->FindOrCreateAttribute(so1, "AttributePersistentRef");
-  CPPUNIT_ASSERT(persref_attr_so1);
-  persref_attr_so1->SetValue("FILE: filename2");
-  vs = study->GetFileNames("");
-  CPPUNIT_ASSERT(vs.size() == 2 && vs[0] == "filename1" && vs[1] == "filename2");
-
-  //Check method StudyId (get/set)
-  int id = study->StudyId();
-  study->StudyId(-1);
-  CPPUNIT_ASSERT(study->StudyId() == -1);
-  study->StudyId(id);
-
   //Check method FindDependances
   studyBuilder->Addreference(so2, so1);
   studyBuilder->Addreference(sco1, so1);
   std::vector< _PTR(SObject) > vso = study->FindDependances(so1);
-  CPPUNIT_ASSERT(vso.size() == 2 && vso[0]->GetID() == so2->GetID() && vso[1]->GetID() == sco1->GetID());
+  CPPUNIT_ASSERT(vso.size() == 2 && vso[0]->GetID() == sco1->GetID() && vso[1]->GetID() == so2->GetID());
 
   //Check method GetProperties
   _PTR(AttributeStudyProperties) sp = study->GetProperties();
   CPPUNIT_ASSERT(sp);
 
   //Check Lock functionality
-  sp->SetLocked(true);
+  /*sp->SetLocked(true);
   bool isLockRaised = false;
   try {
      name_attr_so1->SetValue("test");      
@@ -247,7 +188,7 @@ void SALOMEDSTest::testStudy()
   catch(...) {
     isLockRaised = true;
   }
-  CPPUNIT_ASSERT(!isLockRaised);
+  CPPUNIT_ASSERT(!isLockRaised);*/
 
   //Check method GetLastModificationDate
   sp->SetModification("srn", 1, 2, 3, 4, 5);  
@@ -257,7 +198,7 @@ void SALOMEDSTest::testStudy()
   CPPUNIT_ASSERT(date == "08/09/0010 07:06");
 
   //Check method GetModificationsDate
-  vs = study->GetModificationsDate();
+  std::vector<std::string> vs = study->GetModificationsDate();
   CPPUNIT_ASSERT(vs.size() == 2 && vs[0] == "03/04/0005 02:01" && vs[1] == "08/09/0010 07:06");
 
   //Check method GetCommonParameters
@@ -329,17 +270,18 @@ void SALOMEDSTest::testStudy()
   std::fstream f("SRN.py");
   char buffer[128];
   buffer[81] = (char)0;
-  f.getline(buffer, 80);
+  for(int i=0;i<4;i++)
+    f.getline(buffer, 80);
   std::string line(buffer);
  
   f.close();
   system("rm -f SRN.py");
-  CPPUNIT_ASSERT(line == "### This file is generated by SALOME automatically by dump python functionality");
+  CPPUNIT_ASSERT(line.substr(0,50) == "### This file is generated automatically by SALOME");
 
-  //Check method Close 
+  //Check method Clear
   bool isException = false;
   try {
-    sm->Close(study);  //Close is called inside StudyManager::Close
+    study->Clear();  //Clear is called inside Study::Clear()
   }
   catch(...) {
     isException = true;