#include #include #include #include TEST(simple_scene, add_en_dis) { MM::Engine e; e.addService(); ASSERT_TRUE(e.enableService()); { auto* sss = e.tryService(); ASSERT_NE(sss, nullptr); auto& s = sss->getScene(); auto e = s.create(); ASSERT_TRUE(s.valid(e)); } e.disableService(); } TEST(simple_scene, add_en_dis_provide) { MM::Engine e; e.addService(); e.provide(); ASSERT_TRUE(e.enableService()); { auto* ssi = e.tryService(); ASSERT_NE(ssi, nullptr); auto& s = ssi->getScene(); auto e = s.create(); ASSERT_TRUE(s.valid(e)); } e.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(); ASSERT_FALSE(sss->getScene().valid(e)); } engine.disableService(); }