Skip to content

Commit a53f8f7

Browse files
committed
Use a null block in sensing blocks test
1 parent 8076891 commit a53f8f7

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

test/blocks/sensing_blocks_test.cpp

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@ class SensingBlocksTest : public testing::Test
3737
return block;
3838
}
3939

40+
std::shared_ptr<Block> createNullBlock(const std::string &id)
41+
{
42+
std::shared_ptr<Block> block = std::make_shared<Block>(id, "");
43+
BlockComp func = [](Compiler *compiler) { compiler->addInstruction(vm::OP_NULL); };
44+
block->setCompileFunction(func);
45+
46+
return block;
47+
}
48+
4049
void addObscuredInput(std::shared_ptr<Block> block, const std::string &name, SensingBlocks::Inputs id, std::shared_ptr<Block> valueBlock) const
4150
{
4251
auto input = std::make_shared<Input>(name, Input::Type::ObscuredShadow);
@@ -142,11 +151,9 @@ TEST_F(SensingBlocksTest, DistanceTo)
142151
auto block2 = std::make_shared<Block>("b", "sensing_distanceto");
143152
addDropdownInput(block2, "DISTANCETOMENU", SensingBlocks::DISTANCETOMENU, "_mouse_");
144153

145-
// distance to (join "" "")
146-
auto joinBlock = std::make_shared<Block>("d", "operator_join");
147-
joinBlock->setCompileFunction(&OperatorBlocks::compileJoin);
154+
// distance to (null block)
148155
auto block3 = std::make_shared<Block>("c", "sensing_distanceto");
149-
addDropdownInput(block3, "DISTANCETOMENU", SensingBlocks::DISTANCETOMENU, "", joinBlock);
156+
addDropdownInput(block3, "DISTANCETOMENU", SensingBlocks::DISTANCETOMENU, "", createNullBlock("d"));
150157

151158
compiler.init();
152159

@@ -165,9 +172,7 @@ TEST_F(SensingBlocksTest, DistanceTo)
165172

166173
compiler.end();
167174

168-
ASSERT_EQ(
169-
compiler.bytecode(),
170-
std::vector<unsigned int>({ vm::OP_START, vm::OP_CONST, 0, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 2, vm::OP_HALT }));
175+
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_CONST, 0, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_NULL, vm::OP_EXEC, 2, vm::OP_HALT }));
171176
ASSERT_EQ(compiler.constValues().size(), 1);
172177
ASSERT_EQ(compiler.constValues()[0].toDouble(), 5);
173178
}
@@ -277,11 +282,9 @@ TEST_F(SensingBlocksTest, KeyPressed)
277282
auto block2 = std::make_shared<Block>("b", "sensing_keypressed");
278283
addDropdownInput(block2, "KEY_OPTION", SensingBlocks::KEY_OPTION, "any");
279284

280-
// key (join "" "") pressed?
281-
auto joinBlock = std::make_shared<Block>("d", "operator_join");
282-
joinBlock->setCompileFunction(&OperatorBlocks::compileJoin);
285+
// key (null block) pressed?
283286
auto block3 = std::make_shared<Block>("c", "sensing_keypressed");
284-
addDropdownInput(block3, "KEY_OPTION", SensingBlocks::KEY_OPTION, "", joinBlock);
287+
addDropdownInput(block3, "KEY_OPTION", SensingBlocks::KEY_OPTION, "", createNullBlock("d"));
285288

286289
compiler.init();
287290

@@ -299,9 +302,7 @@ TEST_F(SensingBlocksTest, KeyPressed)
299302

300303
compiler.end();
301304

302-
ASSERT_EQ(
303-
compiler.bytecode(),
304-
std::vector<unsigned int>({ vm::OP_START, vm::OP_CONST, 0, vm::OP_EXEC, 0, vm::OP_CONST, 1, vm::OP_EXEC, 0, vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 0, vm::OP_HALT }));
305+
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_CONST, 0, vm::OP_EXEC, 0, vm::OP_CONST, 1, vm::OP_EXEC, 0, vm::OP_NULL, vm::OP_EXEC, 0, vm::OP_HALT }));
305306
ASSERT_EQ(compiler.constValues(), std::vector<Value>({ "space", "any" }));
306307
}
307308

0 commit comments

Comments
 (0)