| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //
- // direct_renderer_test.cxx
- // graphics-test
- //
- // Created by Sam Jaffe on 6/1/19.
- // Copyright © 2019 Sam Jaffe. All rights reserved.
- //
- #include <gmock/gmock.h>
- #include "../src/renderer_impl.hpp"
- #include "game/graphics/renderer.hpp"
- #include "game/graphics/vertex.h"
- #include "matrix/matrix.hpp"
- struct mock_renderer_impl : graphics::renderer_impl {
- MOCK_CONST_METHOD0(manager, std::shared_ptr<graphics::manager const>());
- MOCK_METHOD3(draw, void(identity<graphics::material>, math::matr4 const &,
- std::vector<graphics::vertex> const &));
- MOCK_METHOD0(clear, void());
- MOCK_METHOD0(flush, void());
- };
- struct DirectRendererTest : testing::Test {
- void SetUp() override;
- void TearDown() override;
- std::unique_ptr<graphics::direct_renderer> renderer;
- mock_renderer_impl * mock;
- };
- void DirectRendererTest::SetUp() {
- mock = new mock_renderer_impl;
- renderer.reset(new graphics::direct_renderer(mock));
- }
- void DirectRendererTest::TearDown() { delete mock; }
- TEST_F(DirectRendererTest, ClearPassesToClear) {
- EXPECT_CALL(*mock, clear()).Times(1);
- renderer->clear();
- }
- TEST_F(DirectRendererTest, FlushPassesToFlush) {
- EXPECT_CALL(*mock, flush()).Times(1);
- renderer->flush();
- }
|