| /* |
| * Created by Phil on 05/06/2012. |
| * Copyright 2012 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_INTERFACES_CONFIG_H_INCLUDED |
| #define TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED |
| |
| #include <iostream> |
| #include <string> |
| #include <vector> |
| |
| #include "catch_ptr.hpp" |
| |
| namespace Catch { |
| |
| struct Verbosity { enum Level { |
| NoOutput = 0, |
| Quiet, |
| Normal |
| }; }; |
| |
| struct WarnAbout { enum What { |
| Nothing = 0x00, |
| NoAssertions = 0x01 |
| }; }; |
| |
| struct ShowDurations { enum OrNot { |
| DefaultForReporter, |
| Always, |
| Never |
| }; }; |
| struct RunTests { enum InWhatOrder { |
| InDeclarationOrder, |
| InLexicographicalOrder, |
| InRandomOrder |
| }; }; |
| struct UseColour { enum YesOrNo { |
| Auto, |
| Yes, |
| No |
| }; }; |
| |
| class TestSpec; |
| |
| struct IConfig : IShared { |
| |
| virtual ~IConfig(); |
| |
| virtual bool allowThrows() const = 0; |
| virtual std::ostream& stream() const = 0; |
| virtual std::string name() const = 0; |
| virtual bool includeSuccessfulResults() const = 0; |
| virtual bool shouldDebugBreak() const = 0; |
| virtual bool warnAboutMissingAssertions() const = 0; |
| virtual int abortAfter() const = 0; |
| virtual bool showInvisibles() const = 0; |
| virtual ShowDurations::OrNot showDurations() const = 0; |
| virtual TestSpec const& testSpec() const = 0; |
| virtual RunTests::InWhatOrder runOrder() const = 0; |
| virtual unsigned int rngSeed() const = 0; |
| virtual UseColour::YesOrNo useColour() const = 0; |
| }; |
| } |
| |
| #endif // TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED |