aboutsummaryrefslogtreecommitdiff
path: root/src/test/ScriptTest.h
blob: 9a71ba70fa209fd79fa56e9aa6ef81a0063f583d (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
#pragma once

#include <gtest/gtest.h>
#include <gmock/gmock.h>

#include <crepe/manager/ComponentManager.h>
#include <crepe/system/ScriptSystem.h>
#include <crepe/api/BehaviorScript.h>
#include <crepe/api/Script.h>

class ScriptTest : public testing::Test {
protected:
	crepe::Mediator mediator;
public:
	crepe::ComponentManager component_manager{mediator};
	crepe::ScriptSystem system{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<crepe::BehaviorScript> behaviorscript;
	crepe::OptionalRef<MyScript> script;

	virtual void SetUp();
};