1 #include "test_layer.h"
4 #include "layerbitmap.h"
5 #include "layervector.h"
6 #include "layercamera.h"
7 #include "layersound.h"
12 TestLayer::TestLayer()
16 void TestLayer::initTestCase()
22 void TestLayer::cleanupTestCase()
27 void TestLayer::testCase1()
29 QVERIFY2(
true,
"Failure" );
32 void TestLayer::testLayerType()
34 std::unique_ptr< Layer > bitmapLayer(
new LayerBitmap( m_pObject ) );
35 QVERIFY( bitmapLayer->type() == Layer::BITMAP );
37 std::unique_ptr< Layer > vecLayer(
new LayerVector( m_pObject ) );
38 QVERIFY( vecLayer->type() == Layer::VECTOR );
40 std::unique_ptr< Layer > cameraLayer(
new LayerCamera( m_pObject ) );
41 QVERIFY( cameraLayer->type() == Layer::CAMERA );
43 std::unique_ptr< Layer > soundLayer(
new LayerSound( m_pObject ) );
44 QVERIFY( soundLayer->type() == Layer::SOUND );
47 void TestLayer::testAddNewKeyAtBitmap()
49 std::unique_ptr< Layer > spLayer(
new LayerBitmap( m_pObject ) );
53 bOK = spLayer->addNewEmptyKeyAt( 0 );
54 QVERIFY2( bOK ==
false,
"Frame Number must > 0." );
56 QVERIFY( spLayer->addNewEmptyKeyAt( 1 ) );
58 QCOMPARE( spLayer->addNewEmptyKeyAt( 2 ), true );
59 QCOMPARE( spLayer->getMaxKeyFramePosition(), 2 );
62 void TestLayer::testAddNewKeyAtVector()
64 Layer* layer = m_pObject->addNewVectorLayer();;
65 OnScopeExit( m_pObject->deleteLayer( layer ) );
69 bOK = layer->addNewEmptyKeyAt( 0 );
70 QVERIFY2( bOK ==
false,
"Frame Number must > 0." );
72 QVERIFY( layer->addNewEmptyKeyAt( 1 ) == false );
74 QCOMPARE( layer->addNewEmptyKeyAt( 2 ), true );
75 QCOMPARE( layer->getMaxKeyFramePosition(), 2 );
78 void TestLayer::testHasKeyFrameAtPosition()
80 Layer* layer = m_pObject->addNewBitmapLayer();;
81 OnScopeExit( m_pObject->deleteLayer( layer ) );
83 QCOMPARE( layer->keyExists( 1 ), true );
85 QVERIFY( layer->addNewEmptyKeyAt( 15 ) );
86 QCOMPARE( layer->keyExists( 15 ), true );
87 QCOMPARE( layer->keyExists( 10 ), false );
89 QVERIFY( layer->addNewEmptyKeyAt( 10 ) );
90 QCOMPARE( layer->keyExists( 10 ), true );
93 QCOMPARE( layer->keyExists( 0 ), false );
94 QCOMPARE( layer->keyExists( 1000 ), false );
95 QCOMPARE( layer->keyExists( -333 ), false );
98 void TestLayer::testGetFirstFramePosition()
100 Layer* layer = m_pObject->addNewBitmapLayer();;
101 OnScopeExit( m_pObject->deleteLayer( layer ) );
103 QCOMPARE( layer->firstKeyFramePosition(), 1 );
104 layer->addNewEmptyKeyAt( 99 );
106 QCOMPARE( layer->firstKeyFramePosition(), 1 );
109 void TestLayer::testGetMaxFramePosition()
111 Layer* layer = m_pObject->addNewBitmapLayer();;
112 OnScopeExit( m_pObject->deleteLayer( layer ) );
115 QCOMPARE( layer->getMaxKeyFramePosition(), 1 );
117 QVERIFY( layer->addNewEmptyKeyAt( 3 ) );
118 QCOMPARE( layer->getMaxKeyFramePosition(), 3 );
120 QVERIFY( layer->addNewEmptyKeyAt( 8 ) );
121 QCOMPARE( layer->getMaxKeyFramePosition(), 8 );
123 QVERIFY( layer->addNewEmptyKeyAt( 100 ) );
124 QCOMPARE( layer->getMaxKeyFramePosition(), 100 );
126 QVERIFY( layer->addNewEmptyKeyAt( 80 ) );
127 QCOMPARE( layer->getMaxKeyFramePosition(), 100 );
130 void TestLayer::testRemoveKeyFrame()
132 Layer* layer = m_pObject->addNewBitmapLayer();;
133 OnScopeExit( m_pObject->deleteLayer( layer ) );
135 layer->removeKeyFrame( 1 );
136 QCOMPARE( layer->getMaxKeyFramePosition(), 0 );
138 for (
int i = 2; i <= 20; ++i )
140 QVERIFY( layer->addNewEmptyKeyAt( i ) );
143 QCOMPARE( layer->keyExists( 20 ), true );
144 layer->removeKeyFrame( 20 );
145 QCOMPARE( layer->keyExists( 20 ), false );
147 QCOMPARE( layer->keyExists( 8 ), true );
148 layer->removeKeyFrame( 8 );
149 QCOMPARE( layer->keyExists( 8 ), false );
151 QCOMPARE( layer->keyExists( 19 ), true );
153 layer->removeKeyFrame( 19 );
154 QCOMPARE( layer->getMaxKeyFramePosition(), 18 );
156 layer->removeKeyFrame( 18 );
157 QCOMPARE( layer->getMaxKeyFramePosition(), 17 );
160 void TestLayer::testPreviousKeyFramePosition()
162 Layer* pLayer = m_pObject->addNewBitmapLayer();;
163 OnScopeExit( m_pObject->deleteLayer( pLayer ) );
165 QCOMPARE( pLayer->getPreviousKeyFramePosition( 1 ), 1 );
166 QCOMPARE( pLayer->getPreviousKeyFramePosition( 10 ), 1 );
167 QCOMPARE( pLayer->getPreviousKeyFramePosition( 100 ), 1 );
168 QCOMPARE( pLayer->getPreviousKeyFramePosition( 1000 ), 1 );
170 pLayer->addNewEmptyKeyAt( 2 );
171 pLayer->addNewEmptyKeyAt( 8 );
172 QCOMPARE( pLayer->getPreviousKeyFramePosition( 2 ), 1 );
173 QCOMPARE( pLayer->getPreviousKeyFramePosition( 8 ), 2 );
175 QCOMPARE( pLayer->getPreviousKeyFramePosition( -5 ), 1 );
177 pLayer->addNewEmptyKeyAt( 15 );
178 QCOMPARE( pLayer->getPreviousKeyFramePosition( 16 ), 15 );
179 QCOMPARE( pLayer->getPreviousKeyFramePosition( 17 ), 15 );
181 pLayer->removeKeyFrame( 15 );
182 QCOMPARE( pLayer->getPreviousKeyFramePosition( 16 ), 8 );
185 void TestLayer::testNextKeyFramePosition()
187 Layer* pLayer = m_pObject->addNewBitmapLayer();;
188 OnScopeExit( m_pObject->deleteLayer( pLayer ) );
190 QCOMPARE( pLayer->getNextKeyFramePosition( 1 ), 1 );
191 QCOMPARE( pLayer->getNextKeyFramePosition( 10 ), 1 );
192 QCOMPARE( pLayer->getNextKeyFramePosition( 100 ), 1 );
194 pLayer->addNewEmptyKeyAt( 5 );
195 QCOMPARE( pLayer->getNextKeyFramePosition( 1 ), 5 );
196 QCOMPARE( pLayer->getNextKeyFramePosition( 2 ), 5 );