Skip to content

Commit a5a03de

Browse files
committed
test: code coverage
1 parent ab56b89 commit a5a03de

File tree

1 file changed

+31
-10
lines changed

1 file changed

+31
-10
lines changed

test/entt/meta/meta_custom.cpp

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@
99
#include "../../common/config.h"
1010

1111
struct clazz {
12-
int i{0};
13-
char j{1};
12+
int i{2};
13+
char j{'c'};
1414

15-
void f(int) {}
16-
void g(char) {}
15+
int f(int) const {
16+
return i;
17+
}
18+
19+
char g(char) const {
20+
return j;
21+
}
1722
};
1823

1924
struct MetaCustom: ::testing::Test {
@@ -24,10 +29,10 @@ struct MetaCustom: ::testing::Test {
2429
.type("clazz"_hs)
2530
.custom<char>('c')
2631
.data<&clazz::i>("i"_hs)
27-
.custom<int>(2)
32+
.custom<int>(0)
2833
.data<&clazz::j>("j"_hs)
2934
.func<&clazz::f>("f"_hs)
30-
.custom<int>(3)
35+
.custom<int>(1)
3136
.func<&clazz::g>("g"_hs);
3237
}
3338

@@ -73,9 +78,17 @@ TEST_F(MetaCustom, Type) {
7378
TEST_F(MetaCustom, Data) {
7479
using namespace entt::literals;
7580

81+
const clazz instance{};
82+
83+
ASSERT_TRUE(entt::resolve<clazz>().data("i"_hs));
84+
ASSERT_EQ(entt::resolve<clazz>().get("i"_hs, instance).cast<int>(), 2);
85+
86+
ASSERT_TRUE(entt::resolve<clazz>().data("j"_hs));
87+
ASSERT_EQ(entt::resolve<clazz>().get("j"_hs, instance).cast<char>(), 'c');
88+
7689
ASSERT_NE(static_cast<const int *>(entt::resolve<clazz>().data("i"_hs).custom()), nullptr);
77-
ASSERT_EQ(*static_cast<const int *>(entt::resolve<clazz>().data("i"_hs).custom()), 2);
78-
ASSERT_EQ(static_cast<const int &>(entt::resolve<clazz>().data("i"_hs).custom()), 2);
90+
ASSERT_EQ(*static_cast<const int *>(entt::resolve<clazz>().data("i"_hs).custom()), 0);
91+
ASSERT_EQ(static_cast<const int &>(entt::resolve<clazz>().data("i"_hs).custom()), 0);
7992

8093
ASSERT_EQ(static_cast<const char *>(entt::resolve<clazz>().data("i"_hs).custom()), nullptr);
8194
ASSERT_EQ(static_cast<const int *>(entt::resolve<clazz>().data("j"_hs).custom()), nullptr);
@@ -84,9 +97,17 @@ TEST_F(MetaCustom, Data) {
8497
TEST_F(MetaCustom, Func) {
8598
using namespace entt::literals;
8699

100+
const clazz instance{};
101+
102+
ASSERT_TRUE(entt::resolve<clazz>().func("f"_hs));
103+
ASSERT_EQ(entt::resolve<clazz>().invoke("f"_hs, instance, 0).cast<int>(), 2);
104+
105+
ASSERT_TRUE(entt::resolve<clazz>().func("g"_hs));
106+
ASSERT_EQ(entt::resolve<clazz>().invoke("g"_hs, instance, 'c').cast<char>(), 'c');
107+
87108
ASSERT_NE(static_cast<const int *>(entt::resolve<clazz>().func("f"_hs).custom()), nullptr);
88-
ASSERT_EQ(*static_cast<const int *>(entt::resolve<clazz>().func("f"_hs).custom()), 3);
89-
ASSERT_EQ(static_cast<const int &>(entt::resolve<clazz>().func("f"_hs).custom()), 3);
109+
ASSERT_EQ(*static_cast<const int *>(entt::resolve<clazz>().func("f"_hs).custom()), 1);
110+
ASSERT_EQ(static_cast<const int &>(entt::resolve<clazz>().func("f"_hs).custom()), 1);
90111

91112
ASSERT_EQ(static_cast<const char *>(entt::resolve<clazz>().func("f"_hs).custom()), nullptr);
92113
ASSERT_EQ(static_cast<const int *>(entt::resolve<clazz>().func("g"_hs).custom()), nullptr);

0 commit comments

Comments
 (0)