@@ -173,18 +173,28 @@ TEST_F(LooksBlocksTest, SayAndThinkForSecs)
173173 }
174174}
175175
176- TEST_F (LooksBlocksTest, Say )
176+ TEST_F (LooksBlocksTest, SayAndThink )
177177{
178- auto sprite = std::make_shared<Sprite>();
179- sprite->setEngine (&m_engineMock);
180- ScriptBuilder builder (m_extension.get (), m_engine, sprite);
178+ std::vector<TextBubble::Type> types = { TextBubble::Type::Say, TextBubble::Type::Think };
179+ std::vector<std::string> opcodes = { " looks_say" , " looks_think" };
180+
181+ for (int i = 0 ; i < types.size (); i++) {
182+ TextBubble::Type type = types[i];
183+ const std::string &opcode = opcodes[i];
184+
185+ auto sprite = std::make_shared<Sprite>();
186+ sprite->setEngine (&m_engineMock);
187+ m_engine->clear ();
188+
189+ ScriptBuilder builder (m_extension.get (), m_engine, sprite);
181190
182- builder.addBlock (" looks_say " );
183- builder.addValueInput (" MESSAGE" , " Hello world" );
191+ builder.addBlock (opcode );
192+ builder.addValueInput (" MESSAGE" , " Hello world" );
184193
185- builder.build ();
186- builder.run ();
187- ASSERT_EQ (sprite->bubble ()->text (), " Hello world" );
188- ASSERT_EQ (sprite->bubble ()->type (), TextBubble::Type::Say);
189- ASSERT_EQ (sprite->bubble ()->owner (), nullptr );
194+ builder.build ();
195+ builder.run ();
196+ ASSERT_EQ (sprite->bubble ()->text (), " Hello world" );
197+ ASSERT_EQ (sprite->bubble ()->type (), type);
198+ ASSERT_EQ (sprite->bubble ()->owner (), nullptr );
199+ }
190200}
0 commit comments