--- /dev/null
+#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));
+}