From 4ea535e5059a664cc393404b454f29e6dad0886e Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 13 Nov 2012 09:56:30 +0000 Subject: [PATCH] Tidied up result enums --- include/internal/catch_result_type.h | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/include/internal/catch_result_type.h b/include/internal/catch_result_type.h index 051dde5f..9fd23861 100644 --- a/include/internal/catch_result_type.h +++ b/include/internal/catch_result_type.h @@ -10,6 +10,7 @@ namespace Catch { + // ResultWas::OfType enum struct ResultWas { enum OfType { Unknown = -1, Ok = 0, @@ -32,6 +33,7 @@ namespace Catch { return ( resultType & ResultWas::FailureBit ) == 0; } + // ResultAction::Value enum struct ResultAction { enum Value { None, Failed = 1, // Failure - but no debug break if Debug bit not set @@ -39,26 +41,22 @@ namespace Catch { Abort = 4 // Test run should abort }; }; - struct ResultDisposition { - enum Flags { + // ResultDisposition::Flags enum + struct ResultDisposition { enum Flags { Normal = 0x00, - ContinueOnFailure = 0x01, - NegateResult = 0x02, - SuppressFail = 0x04 - }; - }; + ContinueOnFailure = 0x01, // Failures fail test, but execution continues + NegateResult = 0x02, // Prefix expressiom with ! + SuppressFail = 0x04 // Failures are reported but do not fail the test + }; }; + inline ResultDisposition::Flags operator | ( ResultDisposition::Flags lhs, ResultDisposition::Flags rhs ) { return static_cast( static_cast( lhs ) | static_cast( rhs ) ); } - inline bool testFlag( int flags, int bitOrBitsToTest ) { return ( flags & bitOrBitsToTest ) == bitOrBitsToTest; } - inline bool setFlag( int flags, int bitOrBitsToSet ) { return static_cast( flags | bitOrBitsToSet ); } - inline bool resetFlag( int flags, int bitOrBitsToReset ) { return static_cast( flags & ~bitOrBitsToReset ); } - - inline bool shouldContinueOnFailure( int flags ) { return testFlag( flags, ResultDisposition::ContinueOnFailure ); } - inline bool shouldNegate( int flags ) { return testFlag( flags, ResultDisposition::NegateResult ); } - inline bool shouldSuppressFailure( int flags ) { return testFlag( flags, ResultDisposition::SuppressFail ); } + inline bool shouldContinueOnFailure( int flags ) { return flags & ResultDisposition::ContinueOnFailure; } + inline bool shouldNegate( int flags ) { return flags & ResultDisposition::NegateResult; } + inline bool shouldSuppressFailure( int flags ) { return flags & ResultDisposition::SuppressFail; } } // end namespace Catch