10 #include "stringize.h" 11 #include "stringizers.h" 19 template <
typename ActualType,
typename Constra
intListType>
22 const char* no_file =
"";
25 Assert::That(actual, expression, no_file, line_number);
28 template <
typename ActualType,
typename Constra
intListType>
34 OperatorStack operators;
35 expression.Evaluate(result, operators, actual);
37 while (!operators.empty())
40 op->PerformOperation(result);
56 throw AssertionException(
"Malformed expression: \"" + snowhouse::Stringize(expression) +
"\"\n" + e.Message());
60 template <
typename Constra
intListType>
63 return That(std::string(actual), expression);
66 template <
typename ActualType,
typename ExpressionType>
67 static void That(
const ActualType& actual,
const ExpressionType& expression)
69 const char* no_file =
"";
71 That(actual, expression, no_file, no_line);
74 template <
typename ActualType,
typename ExpressionType>
75 static void That(
const ActualType& actual,
const ExpressionType& expression,
const char* file_name,
int line_number)
77 if (!expression(actual))
83 template <
typename ExpressionType>
84 static void That(
const char* actual,
const ExpressionType& expression)
86 return That(std::string(actual), expression);
89 static void That(
bool actual)
97 static void Failure(
const std::string& message)
103 template <
class ExpectedType,
class ActualType>
104 static std::string CreateErrorText(
const ExpectedType& expected,
const ActualType& actual)
106 std::ostringstream str;
108 str <<
"Expected: " << snowhouse::Stringize(expected) << std::endl;
109 str <<
"Actual: " << snowhouse::Stringize(actual) << std::endl;
116 #endif // IGLOO_ASSERT_H
Definition: expressionbuilder.h:25
Definition: constraintoperator.h:26
Definition: assertionexception.h:11
Definition: constraintoperator.h:12