Salome HOME
add StudyService
[modules/gde.git] / projects / GDE_API_CPP / api / tests / StudyTest.cpp
diff --git a/projects/GDE_API_CPP/api/tests/StudyTest.cpp b/projects/GDE_API_CPP/api/tests/StudyTest.cpp
new file mode 100644 (file)
index 0000000..1cfff75
--- /dev/null
@@ -0,0 +1,55 @@
+#include <iostream>
+
+#include <TestUtilities.hpp>
+#include <Study.hpp>
+#include <GDESession.hpp>
+#include <StudyTest.hpp>
+
+void
+StudyTest::testCreateDeleteStudy()
+{
+  gde::GDESession session(serverAddress, credentials);
+
+  const gde::Study& study = session.createStudy("myStudy");
+  CPPUNIT_ASSERT(study.getName() == "myStudy");
+  CPPUNIT_ASSERT(study.getId() > 0);
+
+  CPPUNIT_ASSERT(session.deleteStudy(study));
+}
+
+void
+StudyTest::testReadStudy()
+{
+  gde::GDESession session(serverAddress, credentials);
+
+  const gde::Study& study = session.createStudy("myStudy");
+  CPPUNIT_ASSERT(study.getId() > 0);
+
+  {
+    const gde::Study& myStudy = session.readStudy(study.getId());
+    CPPUNIT_ASSERT(myStudy.getName() == "myStudy");
+    CPPUNIT_ASSERT(myStudy.getId() > 0);
+  }
+
+  CPPUNIT_ASSERT(session.deleteStudy(study));
+  /*
+  // Will raise an exception: study does not exist anymore
+  {
+    const gde::Study& myStudy = session.readStudy(study.getId());
+  }
+  */
+}
+
+void
+StudyTest::testSetStudySate()
+{
+  gde::GDESession session(serverAddress, credentials);
+
+  const gde::Study& study = session.createStudy("myStudy");
+  CPPUNIT_ASSERT(study.getId() > 0);
+
+  CPPUNIT_ASSERT(session.setStudyState(study, 1));
+  CPPUNIT_ASSERT(session.setStudyState(study, 0));
+
+  CPPUNIT_ASSERT(session.deleteStudy(study));
+}