|
1 | | -#include "testspriteinterface.h" |
2 | | -#include "../common.h" |
| 1 | +#include <spritehandlermock.h> |
3 | 2 |
|
4 | | -#define INIT_SPRITE() sprite.setInterface(&spriteInterface); |
| 3 | +#include "../common.h" |
5 | 4 |
|
6 | 5 | using namespace libscratchcpp; |
7 | 6 |
|
8 | | -Sprite sprite; |
9 | | -TestSpriteInterface spriteInterface; |
10 | | - |
11 | | -TEST(ISpriteHandlerTest, Sprite) |
| 7 | +class ISpriteHandlerTest : public testing::Test |
12 | 8 | { |
13 | | - INIT_SPRITE(); |
14 | | - ASSERT_EQ(spriteInterface.sprite, &sprite); |
15 | | -} |
| 9 | + public: |
| 10 | + void SetUp() override |
| 11 | + { |
| 12 | + EXPECT_CALL(m_handler, onSpriteChanged(&m_sprite)).Times(1); |
| 13 | + m_sprite.setInterface(&m_handler); |
| 14 | + } |
16 | 15 |
|
17 | | -TEST(ISpriteHandlerTest, Visible) |
| 16 | + Sprite m_sprite; |
| 17 | + SpriteHandlerMock m_handler; |
| 18 | +}; |
| 19 | + |
| 20 | +TEST_F(ISpriteHandlerTest, Visible) |
18 | 21 | { |
19 | | - INIT_SPRITE(); |
20 | | - sprite.setVisible(false); |
21 | | - ASSERT_EQ(spriteInterface.visible, false); |
22 | | - sprite.setVisible(true); |
23 | | - ASSERT_EQ(spriteInterface.visible, true); |
| 22 | + EXPECT_CALL(m_handler, onVisibleChanged(false)).Times(1); |
| 23 | + m_sprite.setVisible(false); |
| 24 | + |
| 25 | + EXPECT_CALL(m_handler, onVisibleChanged(true)).Times(1); |
| 26 | + m_sprite.setVisible(true); |
24 | 27 | } |
25 | 28 |
|
26 | | -TEST(ISpriteHandlerTest, X) |
| 29 | +TEST_F(ISpriteHandlerTest, X) |
27 | 30 | { |
28 | | - INIT_SPRITE(); |
29 | | - sprite.setX(300); |
30 | | - ASSERT_EQ(spriteInterface.x, 300); |
31 | | - sprite.setX(5.25); |
32 | | - ASSERT_EQ(spriteInterface.x, 5.25); |
| 31 | + EXPECT_CALL(m_handler, onXChanged(300.25)).Times(1); |
| 32 | + m_sprite.setX(300.25); |
33 | 33 | } |
34 | 34 |
|
35 | | -TEST(ISpriteHandlerTest, Y) |
| 35 | +TEST_F(ISpriteHandlerTest, Y) |
36 | 36 | { |
37 | | - INIT_SPRITE(); |
38 | | - sprite.setY(300); |
39 | | - ASSERT_EQ(spriteInterface.y, 300); |
40 | | - sprite.setY(5.25); |
41 | | - ASSERT_EQ(spriteInterface.y, 5.25); |
| 37 | + EXPECT_CALL(m_handler, onYChanged(-153.7)).Times(1); |
| 38 | + m_sprite.setY(-153.7); |
42 | 39 | } |
43 | 40 |
|
44 | | -TEST(ISpriteHandlerTest, Size) |
| 41 | +TEST_F(ISpriteHandlerTest, Size) |
45 | 42 | { |
46 | | - INIT_SPRITE(); |
47 | | - sprite.setSize(50); |
48 | | - ASSERT_EQ(spriteInterface.size, 50); |
49 | | - sprite.setSize(75.5); |
50 | | - ASSERT_EQ(spriteInterface.size, 75.5); |
| 43 | + EXPECT_CALL(m_handler, onSizeChanged(53.8)).Times(1); |
| 44 | + m_sprite.setSize(53.8); |
51 | 45 | } |
52 | 46 |
|
53 | | -TEST(ISpriteHandlerTest, Direction) |
| 47 | +TEST_F(ISpriteHandlerTest, Direction) |
54 | 48 | { |
55 | | - INIT_SPRITE(); |
56 | | - sprite.setDirection(85); |
57 | | - ASSERT_EQ(spriteInterface.direction, 85); |
58 | | - sprite.setDirection(179.715); |
59 | | - ASSERT_EQ(spriteInterface.direction, 179.715); |
| 49 | + EXPECT_CALL(m_handler, onDirectionChanged(179.715)).Times(1); |
| 50 | + m_sprite.setDirection(179.715); |
60 | 51 | } |
61 | 52 |
|
62 | | -TEST(ISpriteHandlerTest, RotationStyle) |
| 53 | +TEST_F(ISpriteHandlerTest, RotationStyle) |
63 | 54 | { |
64 | | - INIT_SPRITE(); |
65 | | - sprite.setRotationStyle(Sprite::RotationStyle::DoNotRotate); |
66 | | - ASSERT_EQ(spriteInterface.rotationStyle, Sprite::RotationStyle::DoNotRotate); |
67 | | - sprite.setRotationStyle(Sprite::RotationStyle::LeftRight); |
68 | | - ASSERT_EQ(spriteInterface.rotationStyle, Sprite::RotationStyle::LeftRight); |
| 55 | + EXPECT_CALL(m_handler, onRotationStyleChanged(Sprite::RotationStyle::DoNotRotate)).Times(1); |
| 56 | + m_sprite.setRotationStyle(Sprite::RotationStyle::DoNotRotate); |
| 57 | + |
| 58 | + EXPECT_CALL(m_handler, onRotationStyleChanged(Sprite::RotationStyle::LeftRight)).Times(1); |
| 59 | + m_sprite.setRotationStyle(Sprite::RotationStyle::LeftRight); |
69 | 60 | } |
70 | 61 |
|
71 | | -TEST(ISpriteHandlerTest, CostumeData) |
| 62 | +TEST_F(ISpriteHandlerTest, CostumeData) |
72 | 63 | { |
73 | | - INIT_SPRITE(); |
74 | | - // TODO: Add tests for costume data |
| 64 | + // TODO: Add test for costume data |
| 65 | + // EXPECT_CALL(m_handler, onCostumeChanged(...)).Times(1); |
75 | 66 | } |
0 commit comments