Skip to content

Commit 3a2ded5

Browse files
authored
Merge pull request #160 from scratchcpp/costume_test
Add Costume test
2 parents e60e8c1 + 39238ee commit 3a2ded5

File tree

4 files changed

+58
-2
lines changed

4 files changed

+58
-2
lines changed

include/scratchcpp/costume.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class CostumePrivate;
1515
class LIBSCRATCHCPP_EXPORT Costume : public Asset
1616
{
1717
public:
18-
Costume(std::string name, std::string id, std::string format);
18+
Costume(const std::string &name, const std::string &id, const std::string &format);
1919

2020
double bitmapResolution() const;
2121
void setBitmapResolution(double newBitmapResolution);

src/scratch/costume.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using namespace libscratchcpp;
88

99
/*! Constructs Costume. */
10-
Costume::Costume(std::string name, std::string id, std::string format) :
10+
Costume::Costume(const std::string &name, const std::string &id, const std::string &format) :
1111
Asset(name, id, format),
1212
impl(spimpl::make_impl<CostumePrivate>())
1313
{

test/assets/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# asset_test
12
add_executable(
23
asset_test
34
asset_test.cpp
@@ -10,3 +11,17 @@ target_link_libraries(
1011
)
1112

1213
gtest_discover_tests(asset_test)
14+
15+
# costume_test
16+
add_executable(
17+
costume_test
18+
costume_test.cpp
19+
)
20+
21+
target_link_libraries(
22+
costume_test
23+
GTest::gtest_main
24+
scratchcpp
25+
)
26+
27+
gtest_discover_tests(costume_test)

test/assets/costume_test.cpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <scratchcpp/costume.h>
2+
3+
#include "../common.h"
4+
5+
using namespace libscratchcpp;
6+
7+
TEST(CostumeTest, Constructors)
8+
{
9+
Costume costume("costume1", "a", "svg");
10+
ASSERT_EQ(costume.assetId(), "a");
11+
ASSERT_EQ(costume.name(), "costume1");
12+
ASSERT_EQ(costume.dataFormat(), "svg");
13+
ASSERT_EQ(costume.md5ext(), "a.svg");
14+
ASSERT_EQ(costume.bitmapResolution(), 1);
15+
ASSERT_EQ(costume.rotationCenterX(), 0);
16+
ASSERT_EQ(costume.rotationCenterY(), 0);
17+
}
18+
19+
TEST(CostumeTest, BitmapResolution)
20+
{
21+
Costume costume("costume1", "a", "svg");
22+
23+
costume.setBitmapResolution(5.52);
24+
ASSERT_EQ(costume.bitmapResolution(), 5.52);
25+
}
26+
27+
TEST(CostumeTest, RotationCenterX)
28+
{
29+
Costume costume("costume1", "a", "svg");
30+
31+
costume.setRotationCenterX(240);
32+
ASSERT_EQ(costume.rotationCenterX(), 240);
33+
}
34+
35+
TEST(CostumeTest, RotationCenterY)
36+
{
37+
Costume costume("costume1", "a", "svg");
38+
39+
costume.setRotationCenterY(180);
40+
ASSERT_EQ(costume.rotationCenterY(), 180);
41+
}

0 commit comments

Comments
 (0)