diff options
Diffstat (limited to 'src/test/ScriptTest.h')
-rw-r--r-- | src/test/ScriptTest.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ScriptTest.h b/src/test/ScriptTest.h new file mode 100644 index 0000000..31fa7c9 --- /dev/null +++ b/src/test/ScriptTest.h @@ -0,0 +1,34 @@ +#pragma once + +#include <gmock/gmock.h> +#include <gtest/gtest.h> + +#include <crepe/api/BehaviorScript.h> +#include <crepe/api/Script.h> +#include <crepe/manager/ComponentManager.h> +#include <crepe/manager/EventManager.h> +#include <crepe/system/ScriptSystem.h> +class ScriptTest : public testing::Test { +protected: + crepe::Mediator mediator; + static constexpr const char * OBJ_NAME = "foo"; + +public: + crepe::ComponentManager component_manager{mediator}; + crepe::ScriptSystem system{mediator}; + crepe::EventManager event_mgr{mediator}; + crepe::GameObject entity = component_manager.new_object(OBJ_NAME); + + 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<crepe::BehaviorScript> behaviorscript; + crepe::OptionalRef<MyScript> script; + + virtual void SetUp(); +}; |