test: code coverage

This commit is contained in:
Michele Caini
2020-05-08 23:05:42 +02:00
parent 85b0bbfd55
commit dfbc92dd3e
3 changed files with 13 additions and 2 deletions

View File

@@ -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);

View File

@@ -12,13 +12,16 @@ CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) {
[ctx]() {
auto &registry = *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:

View File

@@ -11,4 +11,6 @@ struct velocity {
double dy;
};
struct tag {};
#endif