Skip to content

Commit eed8150

Browse files
committed
Add Target tests
1 parent 14756a6 commit eed8150

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

test/scratch_classes/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,17 @@ target_link_libraries(
5353
)
5454

5555
gtest_discover_tests(stage_test)
56+
57+
# target_test
58+
add_executable(
59+
target_test
60+
target_test.cpp
61+
)
62+
63+
target_link_libraries(
64+
target_test
65+
GTest::gtest_main
66+
scratchcpp
67+
)
68+
69+
gtest_discover_tests(target_test)
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#include "scratch/stage.h"
2+
#include "../common.h"
3+
4+
using namespace libscratchcpp;
5+
6+
TEST(TargetTest, FindCostume)
7+
{
8+
Stage stage;
9+
Costume c1("costume1", "", "svg");
10+
Costume c2("costume2", "", "png");
11+
Costume c3("costume3", "", "svg");
12+
stage.addCostume(c1);
13+
stage.addCostume(c2);
14+
stage.addCostume(c3);
15+
16+
ASSERT_EQ(stage.findCostume("invalid"), -1);
17+
ASSERT_EQ(stage.findCostume("costume1"), 0);
18+
ASSERT_EQ(stage.findCostume("costume2"), 1);
19+
ASSERT_EQ(stage.findCostume("costume3"), 2);
20+
}
21+
22+
TEST(TargetTest, FindSound)
23+
{
24+
Stage stage;
25+
Sound s1("sound1", "", "svg");
26+
Sound s2("sound2", "", "png");
27+
Sound s3("sound3", "", "svg");
28+
stage.addSound(s1);
29+
stage.addSound(s2);
30+
stage.addSound(s3);
31+
32+
ASSERT_EQ(stage.findSound("invalid"), -1);
33+
ASSERT_EQ(stage.findSound("sound1"), 0);
34+
ASSERT_EQ(stage.findSound("sound2"), 1);
35+
ASSERT_EQ(stage.findSound("sound3"), 2);
36+
}
37+
38+
TEST(TargetTest, FindVariable)
39+
{
40+
Stage stage;
41+
auto v1 = std::make_shared<Variable>("a", "variable1");
42+
auto v2 = std::make_shared<Variable>("b", "variable2");
43+
auto v3 = std::make_shared<Variable>("c", "variable3");
44+
stage.addVariable(v1);
45+
stage.addVariable(v2);
46+
stage.addVariable(v3);
47+
48+
ASSERT_EQ(stage.findVariable("invalid"), -1);
49+
ASSERT_EQ(stage.findVariable("variable1"), 0);
50+
ASSERT_EQ(stage.findVariable("variable2"), 1);
51+
ASSERT_EQ(stage.findVariable("variable3"), 2);
52+
53+
ASSERT_EQ(stage.findVariableById("d"), -1);
54+
ASSERT_EQ(stage.findVariableById("a"), 0);
55+
ASSERT_EQ(stage.findVariableById("b"), 1);
56+
ASSERT_EQ(stage.findVariableById("c"), 2);
57+
}
58+
59+
TEST(TargetTest, FindList)
60+
{
61+
Stage stage;
62+
auto l1 = std::make_shared<List>("a", "list1");
63+
auto l2 = std::make_shared<List>("b", "list2");
64+
auto l3 = std::make_shared<List>("c", "list3");
65+
stage.addList(l1);
66+
stage.addList(l2);
67+
stage.addList(l3);
68+
69+
ASSERT_EQ(stage.findList("invalid"), -1);
70+
ASSERT_EQ(stage.findList("list1"), 0);
71+
ASSERT_EQ(stage.findList("list2"), 1);
72+
ASSERT_EQ(stage.findList("list3"), 2);
73+
74+
ASSERT_EQ(stage.findListById("d"), -1);
75+
ASSERT_EQ(stage.findListById("a"), 0);
76+
ASSERT_EQ(stage.findListById("b"), 1);
77+
ASSERT_EQ(stage.findListById("c"), 2);
78+
}

0 commit comments

Comments
 (0)