#include #include #include #include TEST(simple_scene, add_en_dis) { MM::Engine engine; engine.addService(); ASSERT_TRUE(engine.enableService()); { auto* sss = engine.tryService(); ASSERT_NE(sss, nullptr); auto& s = sss->getScene(); auto e = s.create(); ASSERT_TRUE(s.valid(e)); } engine.disableService(); } TEST(simple_scene, add_en_dis_provide) { MM::Engine engine; engine.addService(); engine.provide(); ASSERT_TRUE(engine.enableService()); { auto* ssi = engine.tryService(); ASSERT_NE(ssi, nullptr); auto& s = ssi->getScene(); auto e = s.create(); ASSERT_TRUE(s.valid(e)); } engine.disableService(); } TEST(simple_scene, change_scene) { MM::Engine engine; engine.addService(); ASSERT_TRUE(engine.enableService()); { auto* sss = engine.tryService(); ASSERT_NE(sss, nullptr); auto e = sss->getScene().create(); ASSERT_TRUE(sss->getScene().valid(e)); sss->changeScene(std::make_unique()); ASSERT_TRUE(sss->getScene().valid(e)); //engine.fixedUpdate(); engine.getUpdateStrategy().addDefered([](MM::Engine& eng) {eng.stop();}); engine.run(); ASSERT_FALSE(sss->getScene().valid(e)); } engine.disableService(); }