aboutsummaryrefslogtreecommitdiff
path: root/src/test/ScriptTest.h
blob: 1bbfdd3057025844c4a1adcedd1c277593117cb6 (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
#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/system/ScriptSystem.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();
};