SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST() [5/59]

SpicesTest::TEST ( ClassTraits_test ,
GetProperty  )

Testing Spices::class_traits::GetProperty.

Definition at line 116 of file ClassTraits_test.h.

116 {
117
119
120 using namespace Spices;
121
122 auto ClassTraitsTestTraits = Spices::class_traits_i(inst);
123
124 {
125 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<int>("i");
126
127 EXPECT_EQ(type, ClassItemType::Member);
128 EXPECT_NE(ptr, nullptr);
129 }
130
131 {
132 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<std::reference_wrapper<int>>("ir");
133
134 EXPECT_EQ(type, ClassItemType::Member);
135 EXPECT_NE(ptr, nullptr);
136 }
137
138 {
139 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<int*>("ip");
140
141 EXPECT_EQ(type, ClassItemType::Member);
142 EXPECT_NE(ptr, nullptr);
143 }
144
145 {
146 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<std::reference_wrapper<int*>>("ipr");
147
148 EXPECT_EQ(type, ClassItemType::Member);
149 EXPECT_NE(ptr, nullptr);
150 }
151
152 {
153 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<int**>("ipp");
154
155 EXPECT_EQ(type, ClassItemType::Member);
156 EXPECT_NE(ptr, nullptr);
157 }
158
159 {
160 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<const int>("ci");
161
162 EXPECT_EQ(type, ClassItemType::Member);
163 EXPECT_NE(ptr, nullptr);
164 }
165
166 {
167 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<std::reference_wrapper<const int>>("cir");
168
169 EXPECT_EQ(type, ClassItemType::Member);
170 EXPECT_NE(ptr, nullptr);
171 }
172
173 {
174 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<const int*>("cip");
175
176 EXPECT_EQ(type, ClassItemType::Member);
177 EXPECT_NE(ptr, nullptr);
178 }
179
180 {
181 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<std::reference_wrapper<const int*>>("cipr");
182
183 EXPECT_EQ(type, ClassItemType::Member);
184 EXPECT_NE(ptr, nullptr);
185 }
186
187 {
188 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<const int**>("cipp");
189
190 EXPECT_EQ(type, ClassItemType::Member);
191 EXPECT_NE(ptr, nullptr);
192 }
193
194 {
195 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<const int const*>("cicp");
196
197 EXPECT_EQ(type, ClassItemType::Member);
198 EXPECT_NE(ptr, nullptr);
199 }
200
201 {
202 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<std::reference_wrapper<const int const* const>>("cicpcr");
203
204 EXPECT_EQ(type, ClassItemType::Member);
205 EXPECT_NE(ptr, nullptr);
206 }
207
208 {
209 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<int>("si");
210
211 EXPECT_EQ(type, ClassItemType::NonMember);
212 EXPECT_NE(ptr, nullptr);
213 }
214
215 {
216 auto [type, ptr] = ClassTraitsTestTraits.GetProperty<volatile int >("vi");
217
218 EXPECT_EQ(type, ClassItemType::Member);
219 EXPECT_NE(ptr, nullptr);
220 }
221 }
#define SPICESTEST_PROFILE_FUNCTION()
auto class_traits_i(T &inst)
Get class_traits instance of class.

References Spices::inst.