33
44using namespace libscratchcpp ;
55
6+ TEST (BlockPrototypeTest, Constructors)
7+ {
8+ BlockPrototype p1;
9+ ASSERT_EQ (p1.procCode (), " " );
10+ ASSERT_TRUE (p1.argumentTypes ().empty ());
11+ ASSERT_TRUE (p1.argumentDefaults ().empty ());
12+ ASSERT_FALSE (p1.warp ());
13+
14+ BlockPrototype p2 (" test block" );
15+ ASSERT_EQ (p2.procCode (), " test block" );
16+ ASSERT_TRUE (p2.argumentTypes ().empty ());
17+ ASSERT_TRUE (p2.argumentDefaults ().empty ());
18+ ASSERT_FALSE (p2.warp ());
19+
20+ BlockPrototype p3 (" test %s block %s %b" );
21+ ASSERT_EQ (p3.procCode (), " test %s block %s %b" );
22+ ASSERT_EQ (
23+ p3.argumentTypes (),
24+ std::vector<BlockPrototype::ArgType>({
25+ BlockPrototype::ArgType::StringNum,
26+ BlockPrototype::ArgType::StringNum,
27+ BlockPrototype::ArgType::Bool,
28+ }));
29+ ASSERT_EQ (p3.argumentDefaults (), std::vector<Value>({ " " , " " , false }));
30+ ASSERT_FALSE (p3.warp ());
31+ }
32+
633TEST (BlockPrototypeTest, ProcCode)
734{
8- BlockPrototype prototype (" test block" );
35+ BlockPrototype prototype;
36+
37+ prototype.setProcCode (" test block" );
938 ASSERT_EQ (prototype.procCode (), " test block" );
1039 ASSERT_TRUE (prototype.argumentTypes ().empty ());
1140 ASSERT_TRUE (prototype.argumentDefaults ().empty ());
@@ -28,3 +57,27 @@ TEST(BlockPrototypeTest, ProcCode)
2857 std::vector<BlockPrototype::ArgType>({ BlockPrototype::ArgType::Bool, BlockPrototype::ArgType::StringNum, BlockPrototype::ArgType::Bool, BlockPrototype::ArgType::Bool }));
2958 ASSERT_EQ (prototype.argumentDefaults (), std::vector<Value>({ false , " " , false , false }));
3059}
60+
61+ TEST (BlockPrototypeTest, ArgumentIds)
62+ {
63+ BlockPrototype prototype;
64+
65+ prototype.setArgumentIds ({ " a" , " b" , " c" });
66+ ASSERT_EQ (prototype.argumentIds (), std::vector<std::string>({ " a" , " b" , " c" }));
67+ }
68+
69+ TEST (BlockPrototypeTest, ArgumentNames)
70+ {
71+ BlockPrototype prototype;
72+
73+ prototype.setArgumentNames ({ " arg1" , " arg2" , " arg3" });
74+ ASSERT_EQ (prototype.argumentNames (), std::vector<std::string>({ " arg1" , " arg2" , " arg3" }));
75+ }
76+
77+ TEST (BlockPrototypeTest, Warp)
78+ {
79+ BlockPrototype prototype;
80+
81+ prototype.setWarp (true );
82+ ASSERT_TRUE (prototype.warp ());
83+ }
0 commit comments