Salome HOME
HYDROData_Polyline object was added
[modules/hydro.git] / src / HYDROData / test_HYDROData_Polyline.cxx
1 #include<test_HYDROData_Polyline.h>
2
3 #include <HYDROData_Document.h>
4 #include <HYDROData_Polyline.h>
5
6 #include <QList>
7 #include <QPointF>
8
9 void test_HYDROData_Polyline::testPolyline()
10 {
11   Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
12
13   Handle(HYDROData_Polyline) aPolyline = 
14     Handle(HYDROData_Polyline)::DownCast(aDoc->CreateObject(KIND_POLYLINE));
15   // empty image
16   QList<QPointF> aPoints = aPolyline->points();
17   CPPUNIT_ASSERT(aPoints.size() == 0 );
18
19   for( int i = 0 ; i < 10 ; i++ ){
20     double anX = ((double)i)*0.1;
21     double anY = ((double)(i-5))*10.;
22     QPointF aPoint(anX,anY);
23     aPoints.append(aPoint);
24   }
25
26   aPolyline->setPoints( aPoints );
27   
28   QList<QPointF> aRes = aPolyline->points();
29
30   CPPUNIT_ASSERT( aRes.size() == 10 );
31   
32   for( int i = 0 ; i < 10 ; i++ ){
33     double anX = aRes[i].x();
34     double anY = aRes[i].y();
35     double aRefX = ((double)i)*0.1;
36     double aRefY = ((double)(i-5))*10.;
37     CPPUNIT_ASSERT( anX == aRefX );
38     CPPUNIT_ASSERT( anY == aRefY );
39      
40   }
41   aDoc->Close();
42 }
43
44
45 void test_HYDROData_Polyline::testCopy()
46 {
47   Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
48   Handle(HYDROData_Polyline) aPolyline1 = 
49     Handle(HYDROData_Polyline)::DownCast(aDoc->CreateObject(KIND_POLYLINE));
50
51   QList<QPointF> aPoints;
52   for( int i = 0 ; i < 10 ; i++ ){
53     double anX = ((double)i)*0.1;
54     double anY = ((double)(i-5))*10.;
55     QPointF aPoint(anX,anY);
56     aPoints.append(aPoint);
57   }
58
59   aPolyline1->setPoints(aPoints);
60
61   Handle(HYDROData_Polyline) aPolyline2 = 
62     Handle(HYDROData_Polyline)::DownCast(aDoc->CreateObject(KIND_POLYLINE));
63
64   aPolyline1->CopyTo(aPolyline2);
65
66   QList<QPointF> aRes = aPolyline2->points();
67
68   CPPUNIT_ASSERT( aRes.size() == 10 );
69   
70   for( int i = 0 ; i < 10 ; i++ ){
71     double anX = aRes[i].x();
72     double anY = aRes[i].y();
73     double aRefX = ((double)i)*0.1;
74     double aRefY = ((double)(i-5))*10.;
75     CPPUNIT_ASSERT( anX == aRefX );
76     CPPUNIT_ASSERT( anY == aRefY );
77      
78   }
79
80   aDoc->Close();
81 }