| /* |
| * Created by Martin on 19/07/2017. |
| * |
| * 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) |
| */ |
| |
| #include "catch_totals.h" |
| |
| namespace Catch { |
| |
| Counts Counts::operator - ( Counts const& other ) const { |
| Counts diff; |
| diff.passed = passed - other.passed; |
| diff.failed = failed - other.failed; |
| diff.failedButOk = failedButOk - other.failedButOk; |
| return diff; |
| } |
| |
| Counts& Counts::operator += ( Counts const& other ) { |
| passed += other.passed; |
| failed += other.failed; |
| failedButOk += other.failedButOk; |
| return *this; |
| } |
| |
| std::size_t Counts::total() const { |
| return passed + failed + failedButOk; |
| } |
| bool Counts::allPassed() const { |
| return failed == 0 && failedButOk == 0; |
| } |
| bool Counts::allOk() const { |
| return failed == 0; |
| } |
| |
| Totals Totals::operator - ( Totals const& other ) const { |
| Totals diff; |
| diff.assertions = assertions - other.assertions; |
| diff.testCases = testCases - other.testCases; |
| return diff; |
| } |
| |
| Totals& Totals::operator += ( Totals const& other ) { |
| assertions += other.assertions; |
| testCases += other.testCases; |
| return *this; |
| } |
| |
| Totals Totals::delta( Totals const& prevTotals ) const { |
| Totals diff = *this - prevTotals; |
| if( diff.assertions.failed > 0 ) |
| ++diff.testCases.failed; |
| else if( diff.assertions.failedButOk > 0 ) |
| ++diff.testCases.failedButOk; |
| else |
| ++diff.testCases.passed; |
| return diff; |
| } |
| |
| } |