|
9 | 9 | #include <enginemock.h> |
10 | 10 | #include <imageformatfactorymock.h> |
11 | 11 | #include <imageformatmock.h> |
| 12 | +#include <graphicseffectmock.h> |
12 | 13 |
|
13 | 14 | #include "../common.h" |
14 | 15 |
|
@@ -616,3 +617,35 @@ TEST(SpriteTest, BoundingRect) |
616 | 617 |
|
617 | 618 | ScratchConfiguration::removeImageFormat("test"); |
618 | 619 | } |
| 620 | + |
| 621 | +TEST(SpriteTest, GraphicsEffects) |
| 622 | +{ |
| 623 | + auto c1 = std::make_shared<Costume>("", "", ""); |
| 624 | + auto c2 = std::make_shared<Costume>("", "", ""); |
| 625 | + |
| 626 | + Sprite sprite; |
| 627 | + sprite.addCostume(c1); |
| 628 | + sprite.addCostume(c2); |
| 629 | + sprite.setCurrentCostume(1); |
| 630 | + |
| 631 | + GraphicsEffectMock effect1, effect2; |
| 632 | + sprite.setGraphicsEffectValue(&effect1, 48.21); |
| 633 | + ASSERT_EQ(sprite.graphicsEffectValue(&effect1), 48.21); |
| 634 | + ASSERT_EQ(sprite.graphicsEffectValue(&effect2), 0); |
| 635 | + ASSERT_EQ(c1->graphicsEffectValue(&effect1), 48.21); |
| 636 | + ASSERT_EQ(c1->graphicsEffectValue(&effect2), 0); |
| 637 | + |
| 638 | + sprite.setCurrentCostume(2); |
| 639 | + ASSERT_EQ(c1->graphicsEffectValue(&effect1), 48.21); |
| 640 | + ASSERT_EQ(c1->graphicsEffectValue(&effect2), 0); |
| 641 | + |
| 642 | + sprite.setGraphicsEffectValue(&effect2, -107.08); |
| 643 | + ASSERT_EQ(sprite.graphicsEffectValue(&effect1), 48.21); |
| 644 | + ASSERT_EQ(sprite.graphicsEffectValue(&effect2), -107.08); |
| 645 | + ASSERT_EQ(c2->graphicsEffectValue(&effect1), 48.21); |
| 646 | + ASSERT_EQ(c2->graphicsEffectValue(&effect2), -107.08); |
| 647 | + |
| 648 | + sprite.setCurrentCostume(1); |
| 649 | + ASSERT_EQ(c1->graphicsEffectValue(&effect1), 48.21); |
| 650 | + ASSERT_EQ(c1->graphicsEffectValue(&effect2), -107.08); |
| 651 | +} |
0 commit comments