|
|
@@ -71,3 +71,22 @@ TEST_F(FpsCounterTest, ProducesEnoughDigitsForPrecision) {
|
|
|
}
|
|
|
EXPECT_THAT(counter.glyphs(), SizeIs(8));
|
|
|
}
|
|
|
+
|
|
|
+struct mock_renderer : public stub_renderer {
|
|
|
+ MOCK_METHOD1(draw, void(graphics::object const &));
|
|
|
+};
|
|
|
+
|
|
|
+TEST_F(FpsCounterTest, RenderCallInvokesOneDrawPerGlyph) {
|
|
|
+ // Set up expectations
|
|
|
+ using testing::_;
|
|
|
+ mock_renderer renderer;
|
|
|
+ EXPECT_CALL(renderer, draw(_)).Times(8);
|
|
|
+
|
|
|
+ // Set up counter
|
|
|
+ engine::fps_counter counter(engine, 5);
|
|
|
+ env::clock::duration ms_100{100000000LL};
|
|
|
+ for (int i = 0; i < 10; ++i) {
|
|
|
+ counter.set_frame_step(ms_100);
|
|
|
+ }
|
|
|
+ counter.render(renderer);
|
|
|
+}
|