1
0
mirror of https://github.com/ThrowTheSwitch/Unity.git synced 2026-01-23 00:15:58 +01:00

Add macros for testing inequalities between floats, doubles

This commit is contained in:
Jonathan Reichelt Gjertsen
2021-05-24 14:53:29 +02:00
parent 27ef0eb44e
commit 410de1a02b
7 changed files with 559 additions and 0 deletions

View File

@@ -197,6 +197,226 @@ void testDoublesNotEqualPlusMinusInf(void)
#endif
}
void testDoublesGreaterThan(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0, 2.0);
TEST_ASSERT_GREATER_THAN_DOUBLE(-1.0, 1.0);
TEST_ASSERT_GREATER_THAN_DOUBLE(-2.0, -1.0);
#endif
}
void testDoublesGreaterThanInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0, 1.0 / d_zero);
TEST_ASSERT_GREATER_THAN_DOUBLE(-1.0 / d_zero, 1.0 / d_zero);
TEST_ASSERT_GREATER_THAN_DOUBLE(-1.0 / d_zero, 1.0);
#endif
}
void testDoublesNotGreaterThan(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(2.0, 1.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanNanActual(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0, 0.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanNanThreshold(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(0.0 / d_zero, 1.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanNanBoth(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanInfActual(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0 / d_zero, 1.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanNegInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0, -1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanBothInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotGreaterThanBothNegInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_DOUBLE(-1.0 / d_zero, -1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesLessThan(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
TEST_ASSERT_LESS_THAN_DOUBLE(2.0, 1.0);
TEST_ASSERT_LESS_THAN_DOUBLE(1.0, -1.0);
TEST_ASSERT_LESS_THAN_DOUBLE(-1.0, -2.0);
#endif
}
void testDoublesLessThanInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
TEST_ASSERT_LESS_THAN_DOUBLE(1.0 / d_zero, 1.0);
TEST_ASSERT_LESS_THAN_DOUBLE(1.0 / d_zero, -1.0 / d_zero);
TEST_ASSERT_LESS_THAN_DOUBLE(1.0, -1.0 / d_zero);
#endif
}
void testDoublesNotLessThan(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(1.0, 2.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanNanActual(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(1.0, 0.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanNanThreshold(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(0.0 / d_zero, 1.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanNanBoth(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(1.0, 1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanNegInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(-1.0 / d_zero, 1.0);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanBothInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoublesNotLessThanBothNegInf(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_DOUBLE(-1.0 / d_zero, -1.0 / d_zero);
VERIFY_FAILS_END
#endif
}
void testDoubleIsPosInf1(void)
{
#ifdef UNITY_EXCLUDE_DOUBLE

View File

@@ -196,6 +196,226 @@ void testFloatsNotEqualPlusMinusInf(void)
#endif
}
void testFloatsGreaterThan(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 2.0f);
TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f, 1.0f);
TEST_ASSERT_GREATER_THAN_FLOAT(-2.0f, -1.0f);
#endif
}
void testFloatsGreaterThanInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 1.0f / f_zero);
TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, 1.0f / f_zero);
TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, 1.0f);
#endif
}
void testFloatsNotGreaterThan(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(2.0f, 1.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanNanActual(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 0.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanNanThreshold(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(0.0f / f_zero, 1.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanNanBoth(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(0.0f / f_zero, 0.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanInfActual(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f / f_zero, 1.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanNegInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, -1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanBothInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(1.0f / f_zero, 1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotGreaterThanBothNegInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsLessThan(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
TEST_ASSERT_LESS_THAN_FLOAT(2.0f, 1.0f);
TEST_ASSERT_LESS_THAN_FLOAT(1.0f, -1.0f);
TEST_ASSERT_LESS_THAN_FLOAT(-1.0f, -2.0f);
#endif
}
void testFloatsLessThanInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, 1.0f);
TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, -1.0f / f_zero);
TEST_ASSERT_LESS_THAN_FLOAT(1.0f, -1.0f / f_zero);
#endif
}
void testFloatsNotLessThan(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 2.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanNanActual(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 0.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanNanThreshold(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(0.0f / f_zero, 1.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanNanBoth(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(0.0f / f_zero, 0.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanNegInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(-1.0f / f_zero, 1.0f);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanBothInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, 1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatsNotLessThanBothNegInf(void)
{
#ifdef UNITY_EXCLUDE_FLOAT
TEST_IGNORE();
#else
EXPECT_ABORT_BEGIN
TEST_ASSERT_LESS_THAN_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
VERIFY_FAILS_END
#endif
}
void testFloatIsPosInf1(void)
{
#ifdef UNITY_EXCLUDE_FLOAT