#pragma once #include #include #include #include #include #include #include class ScriptTest : public testing::Test { protected: crepe::Mediator mediator; public: crepe::ComponentManager component_manager{mediator}; crepe::ScriptSystem system{mediator}; crepe::EventManager event_mgr{mediator}; class MyScript : public crepe::Script { // NOTE: explicitly stating `public:` is not required on actual scripts public: MOCK_METHOD(void, init, (), (override)); MOCK_METHOD(void, update, (), (override)); }; crepe::OptionalRef behaviorscript; crepe::OptionalRef script; virtual void SetUp(); };