| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- /*
 
-  *  Created by Phil on 29/10/2010.
 
-  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
 
-  *
 
-  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 
-  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-  */
 
- #ifndef TWOBLUECUBES_CATCH_TEST_CASE_INFO_H_INCLUDED
 
- #define TWOBLUECUBES_CATCH_TEST_CASE_INFO_H_INCLUDED
 
- #include "catch_common.h"
 
- #include "catch_test_registry.h"
 
- #include <string>
 
- #include <vector>
 
- #include <memory>
 
- #ifdef __clang__
 
- #pragma clang diagnostic push
 
- #pragma clang diagnostic ignored "-Wpadded"
 
- #endif
 
- namespace Catch {
 
-     struct ITestInvoker;
 
-     struct TestCaseInfo {
 
-         enum SpecialProperties{
 
-             None = 0,
 
-             IsHidden = 1 << 1,
 
-             ShouldFail = 1 << 2,
 
-             MayFail = 1 << 3,
 
-             Throws = 1 << 4,
 
-             NonPortable = 1 << 5,
 
-             Benchmark = 1 << 6
 
-         };
 
-         TestCaseInfo(   std::string const& _name,
 
-                         std::string const& _className,
 
-                         std::string const& _description,
 
-                         std::vector<std::string> const& _tags,
 
-                         SourceLineInfo const& _lineInfo );
 
-         friend void setTags( TestCaseInfo& testCaseInfo, std::vector<std::string> tags );
 
-         bool isHidden() const;
 
-         bool throws() const;
 
-         bool okToFail() const;
 
-         bool expectedToFail() const;
 
-         std::string tagsAsString() const;
 
-         std::string name;
 
-         std::string className;
 
-         std::string description;
 
-         std::vector<std::string> tags;
 
-         std::vector<std::string> lcaseTags;
 
-         SourceLineInfo lineInfo;
 
-         SpecialProperties properties;
 
-     };
 
-     class TestCase : public TestCaseInfo {
 
-     public:
 
-         TestCase( ITestInvoker* testCase, TestCaseInfo&& info );
 
-         TestCase withName( std::string const& _newName ) const;
 
-         void invoke() const;
 
-         TestCaseInfo const& getTestCaseInfo() const;
 
-         bool operator == ( TestCase const& other ) const;
 
-         bool operator < ( TestCase const& other ) const;
 
-     private:
 
-         std::shared_ptr<ITestInvoker> test;
 
-     };
 
-     TestCase makeTestCase(  ITestInvoker* testCase,
 
-                             std::string const& className,
 
-                             NameAndTags const& nameAndTags,
 
-                             SourceLineInfo const& lineInfo );
 
- }
 
- #ifdef __clang__
 
- #pragma clang diagnostic pop
 
- #endif
 
- #endif // TWOBLUECUBES_CATCH_TEST_CASE_INFO_H_INCLUDED
 
 
  |