#include <gtest/gtest.h>
#include <type_traits>
#include "renderive/renderable/Renderable.hpp"
#include "renderive/scene/Scene.hpp"
struct Renderable_Concept_Test : Renderable_Base {
    explicit Renderable_Concept_Test(Scene_Base& scene) : Renderable_Base(scene) {}
    void prepare(const Prepare_Render_Context&) override {}
};
static_assert(Renderable<Renderable_Concept_Test>);
TEST(renderable_concept_test, exposes_scene_and_configuration_state) {
    Scene2D_Context<> scene;
    Renderable_Concept_Test renderable(scene);
    EXPECT_EQ(&renderable.scene(), &scene);
    EXPECT_FALSE(renderable.configuration().cache_enabled);
}
