#ifndef THIRD_PARTY_LLVM_LLVM_TOOLS_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_INPUTS_GTEST_GTEST_H_ #define THIRD_PARTY_LLVM_LLVM_TOOLS_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_INPUTS_GTEST_GTEST_H_ #include "gtest/gtest-typed-test.h" namespace testing { class Test { public: static void SetUpTestCase(); static void TearDownTestCase(); static void SetUpTestSuite(); static void TearDownTestSuite(); }; class TestSuite {}; using TestCase = TestSuite; class TestInfo { public: const char *test_case_name() const; const char *test_suite_name() const; }; class TestEventListener { public: virtual void OnTestCaseStart(const TestCase &); virtual void OnTestCaseEnd(const TestCase &); virtual void OnTestSuiteStart(const TestCase &); virtual void OnTestSuiteEnd(const TestCase &); }; class EmptyTestEventListener : public TestEventListener { public: void OnTestCaseStart(const TestCase &) override; void OnTestCaseEnd(const TestCase &) override; void OnTestSuiteStart(const TestCase &) override; void OnTestSuiteEnd(const TestCase &) override; }; class UnitTest { public: static UnitTest *GetInstance(); TestCase *current_test_case() const; int successful_test_case_count() const; int failed_test_case_count() const; int total_test_case_count() const; int test_case_to_run_count() const; const TestCase *GetTestCase(int) const; TestSuite *current_test_suite() const; int successful_test_suite_count() const; int failed_test_suite_count() const; int total_test_suite_count() const; int test_suite_to_run_count() const; const TestSuite *GetTestSuite(int) const; }; } // namespace testing #endif // THIRD_PARTY_LLVM_LLVM_TOOLS_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_INPUTS_GTEST_GTEST_H_