#include <gtest/gtest.h>
#include <type_traits>
#include "renderive/renderable/Renderable.hpp"
#include "renderive/renderable/Renderable_Test_Harness.hpp"
#include "renderive/scene/Scene.hpp"
struct Renderable_Concept_Test : Renderable_Test_Harness {
    explicit Renderable_Concept_Test() = default;
};
static_assert(Renderable<Renderable_Concept_Test>);
TEST(renderable_concept_test, implementation_tracks_scene_and_configuration_state) {
    Scene2D_Context<> scene;
    auto renderable = renderive_Owner<Renderable_Concept_Test>::make();
    {
        auto attach = scene.attach_builder();
        attach.attach(renderable);
    }
    EXPECT_EQ(&renderable->scene_for_test(), &scene);
    EXPECT_FALSE(renderable->configuration_for_test().cache_enabled);
}
