From 59f9bcf1ed38afc363dbb899e38821a44132589c Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 8 Aug 2017 01:08:07 +0100 Subject: [PATCH] Reduced AssertionInfo to a pure record type --- include/internal/catch_assertionresult.cpp | 14 +------------- include/internal/catch_assertionresult.h | 21 ++++++--------------- include/internal/catch_result_builder.cpp | 2 +- include/internal/catch_run_context.cpp | 6 +++--- 4 files changed, 11 insertions(+), 32 deletions(-) diff --git a/include/internal/catch_assertionresult.cpp b/include/internal/catch_assertionresult.cpp index 63c8b22c..f6bb2cfb 100644 --- a/include/internal/catch_assertionresult.cpp +++ b/include/internal/catch_assertionresult.cpp @@ -14,17 +14,7 @@ namespace Catch { bool DecomposedExpression::isBinaryExpression() const { return false; } - - AssertionInfo::AssertionInfo( char const * _macroName, - SourceLineInfo const& _lineInfo, - char const * _capturedExpression, - ResultDisposition::Flags _resultDisposition) - : macroName( _macroName ), - lineInfo( _lineInfo ), - capturedExpression( _capturedExpression ), - resultDisposition( _resultDisposition ) - {} - + void AssertionResultData::negate( bool parenthesize ) { negated = !negated; parenthesized = parenthesize; @@ -54,8 +44,6 @@ namespace Catch { m_resultData( data ) {} - AssertionResult::~AssertionResult() {} - // Result was a success bool AssertionResult::succeeded() const { return Catch::isOk( m_resultData.resultType ); diff --git a/include/internal/catch_assertionresult.h b/include/internal/catch_assertionresult.h index eac589c6..8c0d198a 100644 --- a/include/internal/catch_assertionresult.h +++ b/include/internal/catch_assertionresult.h @@ -39,16 +39,12 @@ namespace Catch { struct AssertionInfo { - AssertionInfo() = delete; - AssertionInfo( char const * _macroName, - SourceLineInfo const& _lineInfo, - char const * _capturedExpression, - ResultDisposition::Flags _resultDisposition); - - char const * macroName = nullptr; + char const * macroName; SourceLineInfo lineInfo; - char const * capturedExpression = nullptr; - ResultDisposition::Flags resultDisposition = ResultDisposition::Normal; + char const * capturedExpression; + ResultDisposition::Flags resultDisposition; + + AssertionInfo() = delete; }; struct AssertionResultData @@ -66,13 +62,8 @@ namespace Catch { class AssertionResult { public: + AssertionResult() = delete; AssertionResult( AssertionInfo const& info, AssertionResultData const& data ); - ~AssertionResult(); - - AssertionResult( AssertionResult const& ) = default; - AssertionResult( AssertionResult && ) = default; - AssertionResult& operator = ( AssertionResult const& ) = default; - AssertionResult& operator = ( AssertionResult && ) = default; bool isOk() const; bool succeeded() const; diff --git a/include/internal/catch_result_builder.cpp b/include/internal/catch_result_builder.cpp index b3a7f28f..c154010a 100644 --- a/include/internal/catch_result_builder.cpp +++ b/include/internal/catch_result_builder.cpp @@ -34,7 +34,7 @@ namespace Catch { SourceLineInfo const& lineInfo, char const* capturedExpression, ResultDisposition::Flags resultDisposition ) - : m_assertionInfo( macroName, lineInfo, capturedExpression, resultDisposition) + : m_assertionInfo{ macroName, lineInfo, capturedExpression, resultDisposition } { getCurrentContext().getResultCapture()->assertionStarting( m_assertionInfo ); } diff --git a/include/internal/catch_run_context.cpp b/include/internal/catch_run_context.cpp index 57e79ef6..8b89df9c 100644 --- a/include/internal/catch_run_context.cpp +++ b/include/internal/catch_run_context.cpp @@ -23,7 +23,7 @@ namespace Catch { m_context(getCurrentMutableContext()), m_config(_config), m_reporter(std::move(reporter)), - m_lastAssertionInfo( "", SourceLineInfo("",0), "", ResultDisposition::Normal ) + m_lastAssertionInfo{ "", SourceLineInfo("",0), "", ResultDisposition::Normal } { m_context.setRunner(this); m_context.setConfig(m_config); @@ -107,7 +107,7 @@ namespace Catch { static_cast(m_reporter->assertionEnded(AssertionStats(result, m_messages, m_totals))); // Reset working state - m_lastAssertionInfo = AssertionInfo("", m_lastAssertionInfo.lineInfo, "{Unknown expression after the reported line}", m_lastAssertionInfo.resultDisposition); + m_lastAssertionInfo = { "", m_lastAssertionInfo.lineInfo, "{Unknown expression after the reported line}", m_lastAssertionInfo.resultDisposition }; m_lastResult = result; } @@ -250,7 +250,7 @@ namespace Catch { double duration = 0; m_shouldReportUnexpected = true; try { - m_lastAssertionInfo = AssertionInfo("TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal); + m_lastAssertionInfo = { "TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal }; seedRng(*m_config);