mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
UnitTest: added new functions expectNotEquals, expectGreaterThan, expectLessThan, expectGreaterOrEquals, expectLessOrEquals.
This commit is contained in:
parent
58ca0673c4
commit
920c19daab
1 changed files with 77 additions and 25 deletions
|
|
@ -138,28 +138,70 @@ public:
|
|||
*/
|
||||
void expect (bool testResult, const String& failureMessage = String());
|
||||
|
||||
/** Compares two values, and if they don't match, prints out a message containing the
|
||||
expected and actual result values.
|
||||
//==============================================================================
|
||||
/** Compares a value to an expected value.
|
||||
If they are not equal, prints out a message containing the expected and actual values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectEquals (ValueType actual, ValueType expected, String failureMessage = String())
|
||||
{
|
||||
const bool result = (actual == expected);
|
||||
|
||||
if (! result)
|
||||
{
|
||||
if (failureMessage.isNotEmpty())
|
||||
failureMessage << " -- ";
|
||||
|
||||
failureMessage << "Expected value: " << expected << ", Actual value: " << actual;
|
||||
}
|
||||
|
||||
expect (result, failureMessage);
|
||||
bool result = actual == expected;
|
||||
expectResultAndPrint (actual, expected, result, "", failureMessage);
|
||||
}
|
||||
|
||||
/** Computes the difference between two values, and if it is larger than a
|
||||
specified value, prints out a message containing the expected and actual
|
||||
difference.
|
||||
/** Checks whether a value is not equal to a comparison value.
|
||||
If this check fails, prints out a message containing the actual and comparison values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectNotEquals (ValueType value, ValueType valueToCompareTo, String failureMessage = String())
|
||||
{
|
||||
bool result = value != valueToCompareTo;
|
||||
expectResultAndPrint (value, valueToCompareTo, result, "unequal to", failureMessage);
|
||||
}
|
||||
|
||||
/** Checks whether a value is greater than a comparison value.
|
||||
If this check fails, prints out a message containing the actual and comparison values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectGreaterThan (ValueType value, ValueType valueToCompareTo, String failureMessage = String())
|
||||
{
|
||||
bool result = value > valueToCompareTo;
|
||||
expectResultAndPrint (value, valueToCompareTo, result, "greater than", failureMessage);
|
||||
}
|
||||
|
||||
/** Checks whether a value is less than a comparison value.
|
||||
If this check fails, prints out a message containing the actual and comparison values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectLessThan (ValueType value, ValueType valueToCompareTo, String failureMessage = String())
|
||||
{
|
||||
bool result = value < valueToCompareTo;
|
||||
expectResultAndPrint (value, valueToCompareTo, result, "less than", failureMessage);
|
||||
}
|
||||
|
||||
/** Checks whether a value is greater or equal to a comparison value.
|
||||
If this check fails, prints out a message containing the actual and comparison values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectGreaterOrEqual (ValueType value, ValueType valueToCompareTo, String failureMessage = String())
|
||||
{
|
||||
bool result = value >= valueToCompareTo;
|
||||
expectResultAndPrint (value, valueToCompareTo, result, "greater or equal to", failureMessage);
|
||||
}
|
||||
|
||||
/** Checks whether a value is less or equal to a comparison value.
|
||||
If this check fails, prints out a message containing the actual and comparison values.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectLessOrEqual (ValueType value, ValueType valueToCompareTo, String failureMessage = String())
|
||||
{
|
||||
bool result = value <= valueToCompareTo;
|
||||
expectResultAndPrint (value, valueToCompareTo, result, "less or equal to", failureMessage);
|
||||
}
|
||||
|
||||
/** Computes the difference between a value and a comparison value, and if it is larger than a
|
||||
specified maximum value, prints out a message containing the actual and comparison values
|
||||
and the maximum allowed error.
|
||||
*/
|
||||
template <class ValueType>
|
||||
void expectWithinAbsoluteError (ValueType actual, ValueType expected, ValueType maxAbsoluteError, String failureMessage = String())
|
||||
|
|
@ -167,15 +209,7 @@ public:
|
|||
const ValueType diff = std::abs (actual - expected);
|
||||
const bool result = diff <= maxAbsoluteError;
|
||||
|
||||
if (! result)
|
||||
{
|
||||
if (failureMessage.isNotEmpty())
|
||||
failureMessage << " -- ";
|
||||
|
||||
failureMessage << "Expected value: " << expected << ", Actual value: " << actual << " Max absolute error: " << maxAbsoluteError << " Actual difference: " << diff;
|
||||
}
|
||||
|
||||
expect (result, failureMessage);
|
||||
expectResultAndPrint (actual, expected, result, " within " + String (maxAbsoluteError) + " of" , failureMessage);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -242,6 +276,24 @@ public:
|
|||
Random getRandom() const;
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
template <class ValueType>
|
||||
void expectResultAndPrint (ValueType value, ValueType valueToCompareTo, bool result,
|
||||
String compDescription, String failureMessage)
|
||||
{
|
||||
if (! result)
|
||||
{
|
||||
if (failureMessage.isNotEmpty())
|
||||
failureMessage << " -- ";
|
||||
|
||||
failureMessage << "Expected value" << (compDescription.isEmpty() ? "" : " ")
|
||||
<< compDescription << ": " << valueToCompareTo
|
||||
<< ", Actual value: " << value;
|
||||
}
|
||||
|
||||
expect (result, failureMessage);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
const String name;
|
||||
UnitTestRunner* runner;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue