| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //
- // game_dispatch_test.cxx
- // engine-test
- //
- // Created by Sam Jaffe on 7/10/19.
- // Copyright © 2019 Sam Jaffe. All rights reserved.
- //
- #include <memory>
- #include <gmock/gmock.h>
- #include "game/engine/events.hpp"
- #include "game/engine/game_dispatch.hpp"
- #include "game/engine/scene.hpp"
- #include "game/graphics/renderer.hpp"
- #include "mock_renderer.h"
- struct mock_scene : engine::scene {
- mock_scene(std::shared_ptr<engine::game_dispatch> game)
- : engine::scene("mock", game) {}
- MOCK_METHOD1(update, void(float));
- MOCK_METHOD1(render, void(graphics::renderer &));
- MOCK_METHOD1(handle_key_event, void(engine::event::key_event));
- MOCK_METHOD1(handle_mouse_event, void(engine::event::mouse_event));
- };
- class GameDispatchTest : public testing::Test {
- protected:
- void SetUp() override;
- void TearDown() override;
- mock_scene & scene() const { return *scene_; }
- engine::game_dispatch & game() const { return *dispatch_; }
- private:
- std::shared_ptr<stub_renderer> renderer_;
- std::shared_ptr<engine::game_dispatch> dispatch_;
- std::shared_ptr<mock_scene> scene_;
- };
- void GameDispatchTest::SetUp() {
- renderer_.reset(new stub_renderer);
- dispatch_.reset(new engine::game_dispatch(renderer_));
- scene_.reset(new mock_scene(dispatch_));
- }
- void GameDispatchTest::TearDown() {
- scene_.reset();
- dispatch_.reset();
- renderer_.reset();
- }
|