test: code coverage
This commit is contained in:
@@ -15,6 +15,10 @@ TEST(Lib, Registry) {
|
||||
for(auto i = 0; i < 3; ++i) {
|
||||
const auto entity = registry.create();
|
||||
registry.assign<position>(entity, i, i);
|
||||
|
||||
if(i % 2) {
|
||||
registry.assign<tag>(entity);
|
||||
}
|
||||
}
|
||||
|
||||
cr_plugin ctx;
|
||||
@@ -23,6 +27,8 @@ TEST(Lib, Registry) {
|
||||
cr_plugin_update(ctx);
|
||||
|
||||
ASSERT_EQ(registry.size<position>(), registry.size<velocity>());
|
||||
ASSERT_NE(registry.size<position>(), registry.size());
|
||||
ASSERT_TRUE(registry.empty<tag>());
|
||||
|
||||
registry.view<position>().each([](auto entity, auto &position) {
|
||||
ASSERT_EQ(position.x, entt::to_integral(entity) + 16);
|
||||
|
||||
@@ -12,13 +12,16 @@ CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) {
|
||||
[ctx]() {
|
||||
auto ®istry = *static_cast<entt::registry *>(ctx->userdata);
|
||||
|
||||
const auto view = registry.view<position>();
|
||||
registry.assign(view.begin(), view.end(), velocity{1., 1.});
|
||||
const auto position_view = registry.view<position>(entt::exclude<tag>);
|
||||
registry.assign(position_view.begin(), position_view.end(), velocity{1., 1.});
|
||||
|
||||
registry.view<position, velocity>().each([](auto &pos, auto &vel) {
|
||||
pos.x += static_cast<int>(16 * vel.dx);
|
||||
pos.y += static_cast<int>(16 * vel.dy);
|
||||
});
|
||||
|
||||
const auto tag_view = registry.view<tag>();
|
||||
registry.destroy(tag_view.begin(), tag_view.end());
|
||||
}();
|
||||
break;
|
||||
case CR_CLOSE:
|
||||
|
||||
@@ -11,4 +11,6 @@ struct velocity {
|
||||
double dy;
|
||||
};
|
||||
|
||||
struct tag {};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user