// // direct_renderer_test.cxx // graphics-test // // Created by Sam Jaffe on 6/1/19. // Copyright © 2019 Sam Jaffe. All rights reserved. // #include #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()); MOCK_METHOD3(draw, void(identity, math::matr4 const &, std::vector const &)); MOCK_METHOD0(clear, void()); MOCK_METHOD0(flush, void()); }; struct DirectRendererTest : testing::Test { void SetUp() override; void TearDown() override; std::unique_ptr 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(); }