Salome HOME
Initial version
[modules/hydro.git] / src / HYDROData / test_HYDROData_Iterator.cxx
1 #include<test_HYDROData_Iterator.h>
2
3 #include <HYDROData_Document.h>
4 #include <HYDROData_Iterator.h>
5
6 void test_HYDROData_Iterator::testOneKind()
7 {
8   static const QString aName1("test_name1");
9   static const QString aName2("test_name2");
10   Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
11
12   Handle(HYDROData_Object) anObj = aDoc->CreateObject(KIND_IMAGE); // image object
13   anObj->SetName(aName1);
14   // first HYDROData_Object must be destroyed because there is no hander pointer naymore
15   anObj = aDoc->CreateObject(KIND_IMAGE); // second image object
16   anObj->SetName(aName2);
17
18   HYDROData_Iterator anIter(aDoc, KIND_IMAGE);
19   CPPUNIT_ASSERT(anIter.More());
20   CPPUNIT_ASSERT(!anIter.Current().IsNull());
21   CPPUNIT_ASSERT_EQUAL(aName1.toStdString(), anIter.Current()->GetName().toStdString());
22
23   anIter.Next();
24   CPPUNIT_ASSERT(anIter.More());
25   CPPUNIT_ASSERT(!anIter.Current().IsNull());
26   CPPUNIT_ASSERT_EQUAL(aName2.toStdString(), anIter.Current()->GetName().toStdString());
27
28   anIter.Next();
29   CPPUNIT_ASSERT(!anIter.More());
30
31   aDoc->Close();
32 }
33
34 void test_HYDROData_Iterator::testAllKinds()
35 {
36   static const QString aName1("test_name1");
37   static const QString aName2("test_name2");
38   Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
39
40   Handle(HYDROData_Object) anObj = aDoc->CreateObject(KIND_IMAGE); // image object
41   anObj->SetName(aName1);
42   // first HYDROData_Object must be destroyed because there is no hander pointer naymore
43   anObj = aDoc->CreateObject(KIND_IMAGE); // second image object
44   anObj->SetName(aName2);
45
46   HYDROData_Iterator anIter(aDoc, KIND_UNKNOWN);
47   CPPUNIT_ASSERT(anIter.More());
48   CPPUNIT_ASSERT(!anIter.Current().IsNull());
49   CPPUNIT_ASSERT_EQUAL(aName1.toStdString(), anIter.Current()->GetName().toStdString());
50
51   anIter.Next();
52   CPPUNIT_ASSERT(anIter.More());
53   CPPUNIT_ASSERT(!anIter.Current().IsNull());
54   CPPUNIT_ASSERT_EQUAL(aName2.toStdString(), anIter.Current()->GetName().toStdString());
55
56   anIter.Next();
57   CPPUNIT_ASSERT(!anIter.More());
58
59   aDoc->Close();
60 }