Go to the documentation of this file.
33 #ifndef GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_
34 #define GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_
50 typedef std::list<T> List;
58 typedef testing::Types<char, int, unsigned int>
MyTypes;
75 n += TestFixture::shared_;
79 typename TestFixture::List
values;
124 template <
typename T>
149 DoesBlah, HasPropertyA);
159 typedef testing::Types<char, int, unsigned int>
MyTypes;
178 #if GTEST_HAS_TYPED_TEST
184 #define GTEST_TYPE_PARAMS_(TestSuiteName) gtest_type_params_##TestSuiteName##_
188 #define GTEST_NAME_GENERATOR_(TestSuiteName) \
189 gtest_type_params_##TestSuiteName##_NameGenerator
194 #define TYPED_TEST_SUITE(CaseName, Types, ...) \
195 typedef ::testing::internal::TypeList<Types>::type GTEST_TYPE_PARAMS_( \
197 typedef ::testing::internal::NameGeneratorSelector<__VA_ARGS__>::type \
198 GTEST_NAME_GENERATOR_(CaseName)
200 # define TYPED_TEST(CaseName, TestName) \
201 template <typename gtest_TypeParam_> \
202 class GTEST_TEST_CLASS_NAME_(CaseName, TestName) \
203 : public CaseName<gtest_TypeParam_> { \
205 typedef CaseName<gtest_TypeParam_> TestFixture; \
206 typedef gtest_TypeParam_ TypeParam; \
207 virtual void TestBody(); \
209 static bool gtest_##CaseName##_##TestName##_registered_ \
210 GTEST_ATTRIBUTE_UNUSED_ = \
211 ::testing::internal::TypeParameterizedTest< \
213 ::testing::internal::TemplateSel<GTEST_TEST_CLASS_NAME_(CaseName, \
215 GTEST_TYPE_PARAMS_( \
216 CaseName)>::Register("", \
217 ::testing::internal::CodeLocation( \
218 __FILE__, __LINE__), \
219 #CaseName, #TestName, 0, \
220 ::testing::internal::GenerateNames< \
221 GTEST_NAME_GENERATOR_(CaseName), \
222 GTEST_TYPE_PARAMS_(CaseName)>()); \
223 template <typename gtest_TypeParam_> \
224 void GTEST_TEST_CLASS_NAME_(CaseName, \
225 TestName)<gtest_TypeParam_>::TestBody()
228 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
229 #define TYPED_TEST_CASE TYPED_TEST_SUITE
230 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
232 #endif // GTEST_HAS_TYPED_TEST
236 #if GTEST_HAS_TYPED_TEST_P
243 #define GTEST_SUITE_NAMESPACE_(TestSuiteName) gtest_suite_##TestSuiteName##_
249 #define GTEST_TYPED_TEST_SUITE_P_STATE_(TestSuiteName) \
250 gtest_typed_test_suite_p_state_##TestSuiteName##_
256 #define GTEST_REGISTERED_TEST_NAMES_(TestSuiteName) \
257 gtest_registered_test_names_##TestSuiteName##_
262 #define TYPED_TEST_SUITE_P(SuiteName) \
263 static ::testing::internal::TypedTestSuitePState \
264 GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName)
267 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
268 #define TYPED_TEST_CASE_P TYPED_TEST_SUITE_P
269 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
271 #define TYPED_TEST_P(SuiteName, TestName) \
272 namespace GTEST_SUITE_NAMESPACE_(SuiteName) { \
273 template <typename gtest_TypeParam_> \
274 class TestName : public SuiteName<gtest_TypeParam_> { \
276 typedef SuiteName<gtest_TypeParam_> TestFixture; \
277 typedef gtest_TypeParam_ TypeParam; \
278 virtual void TestBody(); \
280 static bool gtest_##TestName##_defined_ GTEST_ATTRIBUTE_UNUSED_ = \
281 GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName).AddTestName( \
282 __FILE__, __LINE__, #SuiteName, #TestName); \
284 template <typename gtest_TypeParam_> \
285 void GTEST_SUITE_NAMESPACE_( \
286 SuiteName)::TestName<gtest_TypeParam_>::TestBody()
288 #define REGISTER_TYPED_TEST_SUITE_P(SuiteName, ...) \
289 namespace GTEST_SUITE_NAMESPACE_(SuiteName) { \
290 typedef ::testing::internal::Templates<__VA_ARGS__>::type gtest_AllTests_; \
292 static const char* const GTEST_REGISTERED_TEST_NAMES_( \
293 SuiteName) GTEST_ATTRIBUTE_UNUSED_ = \
294 GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName).VerifyRegisteredTestNames( \
295 __FILE__, __LINE__, #__VA_ARGS__)
298 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
299 #define REGISTER_TYPED_TEST_CASE_P REGISTER_TYPED_TEST_SUITE_P
300 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
305 #define INSTANTIATE_TYPED_TEST_SUITE_P(Prefix, SuiteName, Types, ...) \
306 static bool gtest_##Prefix##_##SuiteName GTEST_ATTRIBUTE_UNUSED_ = \
307 ::testing::internal::TypeParameterizedTestSuite< \
308 SuiteName, GTEST_SUITE_NAMESPACE_(SuiteName)::gtest_AllTests_, \
309 ::testing::internal::TypeList<Types>::type>:: \
311 ::testing::internal::CodeLocation(__FILE__, __LINE__), \
312 >EST_TYPED_TEST_SUITE_P_STATE_(SuiteName), #SuiteName, \
313 GTEST_REGISTERED_TEST_NAMES_(SuiteName), \
314 ::testing::internal::GenerateNames< \
315 ::testing::internal::NameGeneratorSelector< \
316 __VA_ARGS__>::type, \
317 ::testing::internal::TypeList<Types>::type>())
320 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
321 #define INSTANTIATE_TYPED_TEST_CASE_P INSTANTIATE_TYPED_TEST_SUITE_P
322 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
324 #endif // GTEST_HAS_TYPED_TEST_P
326 #endif // GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_
REGISTER_TYPED_TEST_SUITE_P(TypeParamTest, TestA, TestB)
TYPED_TEST_SUITE_P(TypeParamTest)
#define T(upbtypeconst, upbtype, ctype, default_value)
GLenum GLsizei GLsizei GLint * values
TYPED_TEST(TypedTest, TestA)
INSTANTIATE_TYPED_TEST_SUITE_P(My, TypeParamTest, MyTypes)
TYPED_TEST_SUITE(TypedTest, MyTypes)
TYPED_TEST_P(TypeParamTest, TestA)
testing::Types< VeryLoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogName, int *, MyArray< bool, 42 > > MyTypes
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:53