24 lines
890 B
C++
24 lines
890 B
C++
#include <gtest/gtest.h>
|
|
#include <memory>
|
|
#include "renderive/renderable/Renderable.hpp"
|
|
#include "renderive/scene/Scene.hpp"
|
|
struct Scene_Base_Test_Renderable : Renderable_Base {
|
|
explicit Scene_Base_Test_Renderable(Scene_Base& scene) : Renderable_Base(scene) {}
|
|
void render(const Scene_Render_Context& context) override {
|
|
render_sequence = context.render_sequence;
|
|
++render_count;
|
|
}
|
|
std::uint64_t render_sequence{};
|
|
int render_count{};
|
|
};
|
|
TEST(scene_base_test, publishes_renderable_collection_before_background_render) {
|
|
Scene2D_Context<> scene;
|
|
auto renderable = std::make_shared<Scene_Base_Test_Renderable>(scene);
|
|
scene.attach_renderable(renderable);
|
|
scene.render();
|
|
scene.wait_for_render();
|
|
EXPECT_EQ(renderable->render_count, 1);
|
|
EXPECT_EQ(renderable->render_sequence, 1);
|
|
EXPECT_EQ(scene.renderable_count(), 1);
|
|
}
|