1 #include "test_object.h"
4 #include <QDomDocument>
7 #include "layerbitmap.h"
8 #include "layervector.h"
9 #include "layersound.h"
12 TestObject::TestObject()
16 void TestObject::initTestCase()
20 void TestObject::cleanupTestCase()
24 void TestObject::testCase1()
26 std::unique_ptr< Object > obj(
new Object );
28 QCOMPARE( obj->getLayerCount(), 0 );
30 QCOMPARE( obj->getLayerCount(), 3 );
33 void TestObject::testAddBitmapLayer()
35 std::unique_ptr< Object > obj(
new Object );
37 QCOMPARE( obj->getLayerCount(), 0 );
38 obj->addNewBitmapLayer();
39 QCOMPARE( obj->getLayerCount(), 1 );
41 Layer* layer = obj->getLayer( 0 );
42 QCOMPARE( layer->type(), Layer::BITMAP );
45 void TestObject::testAddVectorLayer()
47 std::unique_ptr< Object > obj(
new Object );
49 QCOMPARE( obj->getLayerCount(), 0 );
50 obj->addNewVectorLayer();
51 QCOMPARE( obj->getLayerCount(), 1 );
53 Layer* layer = obj->getLayer( 0 );
54 QCOMPARE( layer->type(), Layer::VECTOR );
57 void TestObject::testAddCameraLayer()
59 std::unique_ptr< Object > obj(
new Object );
61 QCOMPARE( obj->getLayerCount(), 0 );
62 obj->addNewCameraLayer();
63 QCOMPARE( obj->getLayerCount(), 1 );
65 Layer* layer = obj->getLayer( 0 );
66 QCOMPARE( layer->type(), Layer::CAMERA );
69 void TestObject::testAddSoundLayer()
71 std::unique_ptr< Object > obj(
new Object );
73 QCOMPARE( obj->getLayerCount(), 0 );
74 obj->addNewSoundLayer();
75 QCOMPARE( obj->getLayerCount(), 1 );
77 Layer* layer = obj->getLayer( 0 );
78 QCOMPARE( layer->type(), Layer::SOUND );
82 void TestObject::testAddMoreLayers()
84 std::unique_ptr< Object > obj(
new Object );
85 QCOMPARE( obj->getLayerCount(), 0 );
87 obj->addNewSoundLayer();
88 QCOMPARE( obj->getLayerCount(), 1 );
89 QCOMPARE( obj->getLayer( 0 )->type(), Layer::SOUND );
91 obj->addNewCameraLayer();
92 QCOMPARE( obj->getLayerCount(), 2 );
93 QCOMPARE( obj->getLayer( 1 )->type(), Layer::CAMERA );
95 obj->addNewBitmapLayer();
96 QCOMPARE( obj->getLayerCount(), 3 );
97 QCOMPARE( obj->getLayer( 2 )->type(), Layer::BITMAP );
100 void TestObject::testLayerID()
102 std::unique_ptr< Object > obj(
new Object );
104 Layer* bitmapLayer = obj->addNewBitmapLayer();
105 QCOMPARE( bitmapLayer->id(), 1 );
106 QCOMPARE( obj->getUniqueLayerID(), 2 );
108 Layer* vectorLayer = obj->addNewVectorLayer();
109 QCOMPARE( vectorLayer->id(), 2 );
110 QCOMPARE( obj->getUniqueLayerID(), 3 );
113 void TestObject::testMoveLayer()
115 std::unique_ptr< Object > obj(
new Object );
117 obj->addNewBitmapLayer();
118 obj->addNewVectorLayer();
119 QCOMPARE( obj->getLayer( 0 )->id(), 1 );
120 QCOMPARE( obj->getLayer( 1 )->id(), 2 );
122 obj->moveLayer( 0, 1 );
123 QCOMPARE( obj->getLayer( 0 )->id(), 2 );
124 QCOMPARE( obj->getLayer( 1 )->id(), 1 );
128 void TestObject::testLoadXML()
130 std::unique_ptr< Object > obj(
new Object );
132 QString strXMLContent;
133 QTextStream sout( &strXMLContent );
134 sout <<
"<!DOCTYPE PencilDocument><object>";
139 doc.setContent( strXMLContent );
140 QDomElement e = doc.firstChildElement(
"object" );
141 QVERIFY( !e.isNull() );
143 QVERIFY( obj->loadXML( e ) );