MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/TriangleMeshDistance / AssertionPrinter

Class AssertionPrinter

tests/catch.hpp:12867–13031  ·  view source on GitHub ↗

Implementation of CompactReporter formatting

Source from the content-addressed store, hash-verified

12865
12866// Implementation of CompactReporter formatting
12867class AssertionPrinter {
12868public:
12869 AssertionPrinter& operator= (AssertionPrinter const&) = delete;
12870 AssertionPrinter(AssertionPrinter const&) = delete;
12871 AssertionPrinter(std::ostream& _stream, AssertionStats const& _stats, bool _printInfoMessages)
12872 : stream(_stream)
12873 , result(_stats.assertionResult)
12874 , messages(_stats.infoMessages)
12875 , itMessage(_stats.infoMessages.begin())
12876 , printInfoMessages(_printInfoMessages) {}
12877
12878 void print() {
12879 printSourceInfo();
12880
12881 itMessage = messages.begin();
12882
12883 switch (result.getResultType()) {
12884 case ResultWas::Ok:
12885 printResultType(Colour::ResultSuccess, passedString());
12886 printOriginalExpression();
12887 printReconstructedExpression();
12888 if (!result.hasExpression())
12889 printRemainingMessages(Colour::None);
12890 else
12891 printRemainingMessages();
12892 break;
12893 case ResultWas::ExpressionFailed:
12894 if (result.isOk())
12895 printResultType(Colour::ResultSuccess, failedString() + std::string(" - but was ok"));
12896 else
12897 printResultType(Colour::Error, failedString());
12898 printOriginalExpression();
12899 printReconstructedExpression();
12900 printRemainingMessages();
12901 break;
12902 case ResultWas::ThrewException:
12903 printResultType(Colour::Error, failedString());
12904 printIssue("unexpected exception with message:");
12905 printMessage();
12906 printExpressionWas();
12907 printRemainingMessages();
12908 break;
12909 case ResultWas::FatalErrorCondition:
12910 printResultType(Colour::Error, failedString());
12911 printIssue("fatal error condition with message:");
12912 printMessage();
12913 printExpressionWas();
12914 printRemainingMessages();
12915 break;
12916 case ResultWas::DidntThrowException:
12917 printResultType(Colour::Error, failedString());
12918 printIssue("expected exception, got none");
12919 printExpressionWas();
12920 printRemainingMessages();
12921 break;
12922 case ResultWas::Info:
12923 printResultType(Colour::None, "info");
12924 printMessage();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected