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