-#include<test_HYDROGUI_ZLevelsModel.h>
+#undef HYDROGUI_EXPORTS
+
+#include <test_HYDROGUI_ZLevelsModel.h>
+#include <HYDROData_Document.h>
+#include <HYDROGUI_ZLevelsModel.h>
+
+Handle_HYDROData_Document GetDocument()
+{
+ return HYDROData_Document::Document( 0 );
+}
+
+HYDROGUI_ZLevelsModel::Object2VisibleList CreateTestObjects( int theObjCount )
+{
+ HYDROGUI_ZLevelsModel::Object2VisibleList anObjects;
+
+ for( int i=0; i<theObjCount; i++ )
+ {
+ Handle_HYDROData_Entity anObj = GetDocument()->CreateObject( KIND_IMMERSIBLE_ZONE );
+
+ std::string aName = " ";
+ aName[0] = 'A' + i;
+ anObj->SetName( QString::fromStdString( aName ) );
+
+ bool isVisible = i%2==0;
+
+ anObjects.append( HYDROGUI_ZLevelsModel::Object2Visible( anObj, isVisible ) );
+ }
+ return anObjects;
+}
+
+std::string test_HYDROGUI_ZLevelsModel::GetObjects( HYDROGUI_ZLevelsModel* theModel ) const
+{
+ std::string anObjects;
+ for( int i=0, n=theModel->myObjects.size(); i<n; i++ )
+ {
+ std::string anObjName = theModel->myObjects[i].first->GetName().toStdString();
+ if( theModel->isObjectVisible( i ) )
+ anObjName = "*" + anObjName;
+ if( i>0 )
+ anObjects += ", ";
+ anObjects += anObjName;
+ }
+ return anObjects;
+}
void test_HYDROGUI_ZLevelsModel::testMoveUp()
{
- CPPUNIT_ASSERT(1 == 2);
+ HYDROGUI_ZLevelsModel* aModel = new HYDROGUI_ZLevelsModel();
+ aModel->setObjects( CreateTestObjects( 6 ) );
+
+ CPPUNIT_ASSERT_EQUAL( std::string( "*A, B, *C, D, *E, F" ), GetObjects( aModel ) );
+
+ delete aModel;
}