Skip to content

Commit e98d348

Browse files
committed
Add Variable test
1 parent c9841a3 commit e98d348

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

test/scratch_classes/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,17 @@ target_link_libraries(
169169
)
170170

171171
gtest_discover_tests(block_test)
172+
173+
# variable_test
174+
add_executable(
175+
variable_test
176+
variable_test.cpp
177+
)
178+
179+
target_link_libraries(
180+
variable_test
181+
GTest::gtest_main
182+
scratchcpp
183+
)
184+
185+
gtest_discover_tests(variable_test)
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#include <scratchcpp/variable.h>
2+
3+
#include "../common.h"
4+
5+
using namespace libscratchcpp;
6+
7+
TEST(VariableTest, Constructors)
8+
{
9+
Variable var1("abc", "var1");
10+
ASSERT_EQ(var1.id(), "abc");
11+
ASSERT_EQ(var1.name(), "var1");
12+
ASSERT_EQ(var1.value(), Value());
13+
ASSERT_FALSE(var1.isCloudVariable());
14+
15+
Variable var2("abc", "var2", "test");
16+
ASSERT_EQ(var2.id(), "abc");
17+
ASSERT_EQ(var2.name(), "var2");
18+
ASSERT_EQ(var2.value().toString(), "test");
19+
ASSERT_FALSE(var2.isCloudVariable());
20+
21+
Variable var3("abc", "var3", "test", true);
22+
ASSERT_EQ(var3.id(), "abc");
23+
ASSERT_EQ(var3.name(), "var3");
24+
ASSERT_EQ(var3.value().toString(), "test");
25+
ASSERT_TRUE(var3.isCloudVariable());
26+
27+
Variable var4("abc", "var4", "test", false);
28+
ASSERT_EQ(var4.id(), "abc");
29+
ASSERT_EQ(var4.name(), "var4");
30+
ASSERT_EQ(var4.value().toString(), "test");
31+
ASSERT_FALSE(var4.isCloudVariable());
32+
}
33+
34+
TEST(VariableTest, Value)
35+
{
36+
Variable var("", "");
37+
38+
var.setValue("hello");
39+
ASSERT_EQ(var.value().toString(), "hello");
40+
}
41+
42+
TEST(VariableTest, ValuePtr)
43+
{
44+
Variable var("", "");
45+
ASSERT_TRUE(var.valuePtr());
46+
ASSERT_EQ(*var.valuePtr(), Value());
47+
48+
var.setValue("Hello, world!");
49+
ASSERT_EQ(var.valuePtr()->toString(), "Hello, world!");
50+
}
51+
52+
TEST(VariableTest, IsCloudVariable)
53+
{
54+
Variable var("", "");
55+
56+
var.setIsCloudVariable(true);
57+
ASSERT_TRUE(var.isCloudVariable());
58+
}

0 commit comments

Comments
 (0)