@@ -377,6 +377,59 @@ TEST(SpriteTest, XY)
377377 ASSERT_EQ (sprite.y (), -23 );
378378}
379379
380+ TEST (SpriteTest, Dragging)
381+ {
382+ Sprite sprite;
383+ SpriteHandlerMock handler;
384+ EXPECT_CALL (handler, init);
385+ sprite.setInterface (&handler);
386+ ASSERT_FALSE (sprite.dragging ());
387+
388+ sprite.startDragging ();
389+ ASSERT_TRUE (sprite.dragging ());
390+
391+ sprite.setX (10 );
392+ ASSERT_EQ (sprite.x (), 0 );
393+ sprite.setY (-56 );
394+ ASSERT_EQ (sprite.y (), 0 );
395+ sprite.setPosition (-2.8 , 54.1 );
396+ ASSERT_EQ (sprite.x (), 0 );
397+ ASSERT_EQ (sprite.y (), 0 );
398+
399+ EXPECT_CALL (handler, onMoved);
400+ EXPECT_CALL (handler, onXChanged);
401+ EXPECT_CALL (handler, onYChanged);
402+ sprite.dragToPosition (34.2 , -89.7 );
403+ ASSERT_EQ (sprite.x (), 34.2 );
404+ ASSERT_EQ (sprite.y (), -89.7 );
405+ ASSERT_TRUE (sprite.dragging ());
406+
407+ sprite.stopDragging ();
408+ ASSERT_FALSE (sprite.dragging ());
409+
410+ EXPECT_CALL (handler, onMoved);
411+ EXPECT_CALL (handler, onXChanged);
412+ EXPECT_CALL (handler, onYChanged);
413+ sprite.setPosition (-2.8 , 54.1 );
414+ ASSERT_EQ (sprite.x (), -2.8 );
415+ ASSERT_EQ (sprite.y (), 54.1 );
416+
417+ EXPECT_CALL (handler, onMoved);
418+ EXPECT_CALL (handler, onXChanged);
419+ EXPECT_CALL (handler, onYChanged);
420+ sprite.dragToPosition (-34.2 , 89.7 );
421+ ASSERT_EQ (sprite.x (), -34.2 );
422+ ASSERT_EQ (sprite.y (), 89.7 );
423+ ASSERT_TRUE (sprite.dragging ());
424+
425+ sprite.setPosition (-2.8 , 54.1 );
426+ ASSERT_EQ (sprite.x (), -34.2 );
427+ ASSERT_EQ (sprite.y (), 89.7 );
428+
429+ sprite.stopDragging ();
430+ ASSERT_FALSE (sprite.dragging ());
431+ }
432+
380433TEST (SpriteTest, Size)
381434{
382435 Sprite sprite;
0 commit comments