33#include < spritemodel.h>
44#include < renderedtargetmock.h>
55#include < penlayermock.h>
6+ #include < enginemock.h>
67
78#include " ../common.h"
89
@@ -149,17 +150,25 @@ TEST(SpriteModelTest, OnYChanged)
149150TEST (SpriteModelTest, OnMoved)
150151{
151152 SpriteModel model;
153+ Sprite sprite;
154+ EngineMock engine;
155+ sprite.setEngine (&engine);
156+ model.init (&sprite);
152157
153158 PenLayerMock penLayer;
154159 model.setPenLayer (&penLayer);
155160
156161 EXPECT_CALL (penLayer, drawLine).Times (0 );
162+ EXPECT_CALL (engine, requestRedraw).Times (0 );
157163 model.onMoved (-15.6 , 54.9 , 159.04 , -2.5 );
158164
165+ EXPECT_CALL (penLayer, drawPoint);
166+ EXPECT_CALL (engine, requestRedraw);
159167 model.setPenDown (true );
160168 PenAttributes &attr = model.penAttributes ();
161169
162170 EXPECT_CALL (penLayer, drawLine (_, -15.6 , 54.9 , 159.04 , -2.5 )).WillOnce (WithArgs<0 >(Invoke ([&attr](const PenAttributes &attrArg) { ASSERT_EQ (&attr, &attrArg); })));
171+ EXPECT_CALL (engine, requestRedraw ());
163172 model.onMoved (-15.6 , 54.9 , 159.04 , -2.5 );
164173}
165174
@@ -253,8 +262,10 @@ TEST(SpriteModelTest, PenDown)
253262{
254263 SpriteModel model;
255264 Sprite sprite;
265+ EngineMock engine;
256266 sprite.setX (24.6 );
257267 sprite.setY (-48.8 );
268+ sprite.setEngine (&engine);
258269 model.init (&sprite);
259270 ASSERT_FALSE (model.penDown ());
260271
@@ -264,14 +275,17 @@ TEST(SpriteModelTest, PenDown)
264275 PenAttributes &attr = model.penAttributes ();
265276
266277 EXPECT_CALL (penLayer, drawPoint (_, 24.6 , -48.8 )).WillOnce (WithArgs<0 >(Invoke ([&attr](const PenAttributes &attrArg) { ASSERT_EQ (&attr, &attrArg); })));
278+ EXPECT_CALL (engine, requestRedraw ());
267279 model.setPenDown (true );
268280 ASSERT_TRUE (model.penDown ());
269281
270- EXPECT_CALL (penLayer, drawPoint).Times (0 );
282+ EXPECT_CALL (penLayer, drawPoint (_, 24.6 , -48.8 ));
283+ EXPECT_CALL (engine, requestRedraw ());
271284 model.setPenDown (true );
272285 ASSERT_TRUE (model.penDown ());
273286
274287 EXPECT_CALL (penLayer, drawPoint).Times (0 );
288+ EXPECT_CALL (engine, requestRedraw).Times (0 );
275289 model.setPenDown (false );
276290 ASSERT_FALSE (model.penDown ());
277291}
0 commit comments