blob: 8637df05aef4d08b3178ddfe631d2460ad881beb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#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/manager/LoopTimerManager.h>
#include <crepe/manager/SaveManager.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::LoopTimerManager loop_timer{mediator};
crepe::SaveManager save_manager{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, fixed_update, (crepe::duration_t), (override));
MOCK_METHOD(void, frame_update, (crepe::duration_t), (override));
};
crepe::OptionalRef<crepe::BehaviorScript> behaviorscript;
crepe::OptionalRef<MyScript> script;
virtual void SetUp();
};
|