92#if GTEST_HAS_TYPED_TEST
99typedef Types<char, int> TwoTypes;
109 typename TestFixture::Vector empty;
112 typename TestFixture::IntSet empty2;
136class TypedTest1 :
public Test {
145class TypedTest2 :
public Test {
161class NumericTest :
public Test {
164typedef Types<int, long> NumericTypes;
175class TypedTestWithNames :
public Test {};
177class TypedTestNames {
179 template <
typename T>
180 static std::string GetName(
int i) {
181 if (std::is_same<T, char>::value) {
184 if (std::is_same<T, int>::value) {
192TYPED_TEST(TypedTestWithNames, TestSuiteName) {
193 if (std::is_same<TypeParam, char>::value) {
195 ->current_test_info()
197 "TypedTestWithNames/char0");
199 if (std::is_same<TypeParam, int>::value) {
201 ->current_test_info()
203 "TypedTestWithNames/int1");
210#if GTEST_HAS_TYPED_TEST_P
213using testing::internal::TypedTestSuitePState;
217class TypedTestSuitePStateTest :
public Test {
219 void SetUp()
override {
220 state_.AddTestName(
"foo.cc", 0,
"FooTest",
"A");
221 state_.AddTestName(
"foo.cc", 0,
"FooTest",
"B");
222 state_.AddTestName(
"foo.cc", 0,
"FooTest",
"C");
225 TypedTestSuitePState state_;
228TEST_F(TypedTestSuitePStateTest, SucceedsForMatchingList) {
229 const char* tests =
"A, B, C";
231 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1, tests));
236TEST_F(TypedTestSuitePStateTest, IgnoresOrderAndSpaces) {
237 const char* tests =
"A,C, B";
239 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1, tests));
242using TypedTestSuitePStateDeathTest = TypedTestSuitePStateTest;
244TEST_F(TypedTestSuitePStateDeathTest, DetectsDuplicates) {
246 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1,
"A, B, A, C"),
247 "foo\\.cc.1.?: Test A is listed more than once\\.");
250TEST_F(TypedTestSuitePStateDeathTest, DetectsExtraTest) {
252 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1,
"A, B, C, D"),
253 "foo\\.cc.1.?: No test named D can be found in this test suite\\.");
256TEST_F(TypedTestSuitePStateDeathTest, DetectsMissedTest) {
258 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1,
"A, C"),
259 "foo\\.cc.1.?: You forgot to list test B\\.");
264TEST_F(TypedTestSuitePStateDeathTest, DetectsTestAfterRegistration) {
265 state_.VerifyRegisteredTestNames(
"Suite",
"foo.cc", 1,
"A, B, C");
267 state_.AddTestName(
"foo.cc", 2,
"FooTest",
"D"),
268 "foo\\.cc.2.?: Test D must be defined before REGISTER_TYPED_TEST_SUITE_P"
269 "\\(FooTest, \\.\\.\\.\\)\\.");
302 ValuesAreCorrect, ValuesAreStillCorrect);
304typedef Types<short, long> MyTwoTypes;
310class TypeParametrizedTestWithNames :
public Test {};
314TYPED_TEST_P(TypeParametrizedTestWithNames, TestSuiteName) {
315 if (std::is_same<TypeParam, char>::value) {
317 ->current_test_info()
319 "CustomName/TypeParametrizedTestWithNames/parChar0");
321 if (std::is_same<TypeParam, int>::value) {
323 ->current_test_info()
325 "CustomName/TypeParametrizedTestWithNames/parInt1");
331class TypeParametrizedTestNames {
333 template <
typename T>
334 static std::string GetName(
int i) {
335 if (std::is_same<T, char>::value) {
338 if (std::is_same<T, int>::value) {
345 TwoTypes, TypeParametrizedTestNames);
351class TypedTestP1 :
public Test {
358using IntAfterTypedTestSuiteP = int;
365using IntBeforeRegisterTypedTestSuiteP = int;
370class TypedTestP2 :
public Test {
383IntAfterTypedTestSuiteP after = 0;
384IntBeforeRegisterTypedTestSuiteP before = 0;
398typedef Types<std::vector<double>, std::set<char> > MyContainers;
407class NumericTest :
public Test {
421 DefaultIsZero, ZeroIsLessThanOne);
422typedef Types<int, double> NumericTypes;
425static const char* GetTestName() {
429template <
typename T>
class TrimmedTest :
public Test { };
438 Test1, Test2,Test3 , Test4 ,Test5 );
439template <
typename T1,
typename T2>
struct MyPair {};
441typedef Types<int, double, MyPair<int, int> > TrimTypes;
448#if !defined(GTEST_HAS_TYPED_TEST) && !defined(GTEST_HAS_TYPED_TEST_P)
456TEST(DummyTest, TypedTestsAreNotSupportedOnThisPlatform) {}
INSTANTIATE_TYPED_TEST_SUITE_P(CacheFad, FadOpsUnitTest, FadTypes)
TYPED_TEST_P(FadBLASUnitTests, testSCAL1)
TYPED_TEST_SUITE_P(FadBLASUnitTests)
REGISTER_TYPED_TEST_SUITE_P(FadBLASUnitTests, testSCAL1, testSCAL2, testSCAL3, testSCAL4, testCOPY1, testCOPY2, testCOPY3, testCOPY4, testAXPY1, testAXPY2, testAXPY3, testAXPY4, testDOT1, testDOT2, testDOT3, testDOT4, testNRM21, testNRM22, testGEMV1, testGEMV2, testGEMV3, testGEMV4, testGEMV5, testGEMV6, testGEMV7, testGEMV8, testGEMV9, testTRMV1, testTRMV2, testTRMV3, testTRMV4, testGER1, testGER2, testGER3, testGER4, testGER5, testGER6, testGER7, testGEMM1, testGEMM2, testGEMM3, testGEMM4, testGEMM5, testGEMM6, testGEMM7, testGEMM8, testGEMM9, testGEMM10, testSYMM1, testSYMM2, testSYMM3, testSYMM4, testSYMM5, testSYMM6, testSYMM7, testSYMM8, testSYMM9, testTRMM1, testTRMM2, testTRMM3, testTRMM4, testTRMM5, testTRMM6, testTRMM7, testTRSM1, testTRSM2, testTRSM3, testTRSM4, testTRSM5, testTRSM6, testTRSM7)
static void TearDownTestSuite()
static void SetUpTestSuite()
const char * name() const
const TestInfo * current_test_info() const GTEST_LOCK_EXCLUDED_(mutex_)
static UnitTest * GetInstance()
TYPED_TEST_SUITE(TypedTest, MyTypes)
TYPED_TEST(TypedTest, TestA)
#define EXPECT_DEATH_IF_SUPPORTED(statement, regex)
#define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings)
#define GTEST_DISABLE_MSC_WARNINGS_POP_()
#define TEST_F(test_fixture, test_name)
#define EXPECT_EQ(val1, val2)
#define TEST(test_suite_name, test_name)
#define EXPECT_STREQ(s1, s2)
#define ASSERT_TRUE(condition)
#define EXPECT_LT(val1, val2)
internal::ProxyTypeList< Ts... > Types
::std::string PrintToString(const T &value)