提交
This commit is contained in:
@@ -9,6 +9,7 @@ struct Test_Renderable_2D : aethera::Def<Test_Renderable_2D, aethera::render_2d:
|
||||
};
|
||||
|
||||
static_assert(pro::proxiable<aethera::detail::Model_Private_Pointer<Test_Renderable_2D*>, aethera::render_2d::scene::Renderable>);
|
||||
static_assert(aethera::Relation_Attachment<aethera::Owned_Dag_Relation<aethera::render_2d::scene::Renderable>>);
|
||||
|
||||
TEST(Render_2D_Model, Every_Def_Layer_Uses_The_Final_Private_Instance) {
|
||||
auto renderable = Test_Renderable_2D::Builder{}.build();
|
||||
@@ -19,17 +20,17 @@ TEST(Render_2D_Model, Every_Def_Layer_Uses_The_Final_Private_Instance) {
|
||||
}
|
||||
|
||||
TEST(Render_2D_Model, Scene_Endpoint_Publishes_Properties_And_Owned_Dag) {
|
||||
aethera::Dag<aethera::render_2d::scene::Renderable>::Builder dag_builder;
|
||||
aethera::Dag_Relation<aethera::render_2d::scene::Renderable>::Builder dag_builder;
|
||||
dag_builder.add({1}, aethera::make_model_proxy<aethera::render_2d::scene::Renderable, Test_Renderable_2D>());
|
||||
auto dag = dag_builder.build();
|
||||
ASSERT_TRUE(dag.has_value());
|
||||
aethera::render_2d::Render_Scene_2D::Builder scene_builder;
|
||||
scene_builder
|
||||
.set<aethera::Import_Struct_With_Dirty, aethera::Prop_Tag>(&aethera::render_2d::Render_Scene_2D::Prop::viewport, aethera::render_2d::Size{32, 24})
|
||||
.set<aethera::Import_Struct_With_Dirty, aethera::Prop_Tag>(&aethera::render_2d::Render_Scene_2D::Prop::view_active, true);
|
||||
.set<aethera::Prop_Tag>(&aethera::render_2d::Render_Scene_2D::Prop::viewport, aethera::render_2d::Size{32, 24})
|
||||
.set<aethera::Prop_Tag>(&aethera::render_2d::Render_Scene_2D::Prop::view_active, true)
|
||||
.relation<aethera::render_2d::scene::Renderable>([dag = std::move(*dag)](auto& relation) mutable { relation = std::move(dag); });
|
||||
auto scene = scene_builder.build();
|
||||
scene->set<aethera::Owned_Dag, aethera::render_2d::Render_Scene_2D>(std::move(*dag));
|
||||
auto& properties = scene->d->get<aethera::Prop_Tag>();
|
||||
auto& properties = scene->d->concurrent<aethera::Prop_Tag>();
|
||||
EXPECT_EQ(properties.internal.use()->viewport, (aethera::render_2d::Size{32, 24}));
|
||||
EXPECT_TRUE(properties.internal.use()->view_active);
|
||||
aethera::render_2d::Frame_2D frame({1, 0});
|
||||
|
||||
Reference in New Issue
Block a user