mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2026-01-23 00:15:58 +01:00
Merge pull request #644 from AJIOB/implement_array_within_check
Adding within API support for float & double arrays
This commit is contained in:
@@ -1024,6 +1024,47 @@ void testNotEqualDoubleArraysLengthZero(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void testDoubleArraysWithin(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_DOUBLE
|
||||
TEST_IGNORE();
|
||||
#else
|
||||
double p0[] = {1.0, -8.0, 25.4, -0.123};
|
||||
double p1[] = {1.0, -8.0, 25.4, -0.123};
|
||||
double p2[] = {1.0, -8.0, 25.4, -0.2};
|
||||
double p3[] = {1.0, -23.0, 25.0, -0.26};
|
||||
double p4[] = {2.0, -9.0, 26.2, 0.26};
|
||||
double p5[] = {-1.0, -7.0, 29.0, 2.6};
|
||||
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p0, 1);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p0, 4);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p1, 4);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p2, 3);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p3, 1);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p4, 1);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, p0, p4, 4);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(2.0, p0, p5, 1);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(2.0, p0, p5, 2);
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(1.0, NULL, NULL, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void testDoubleArraysWithinUnusualDelta(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_DOUBLE
|
||||
TEST_IGNORE();
|
||||
#else
|
||||
double p0[] = {-INFINITY, -8.0, 25.4, -0.123};
|
||||
double p1[] = {INFINITY, 10.1};
|
||||
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(INFINITY, p0, p1, 2);
|
||||
|
||||
EXPECT_ABORT_BEGIN
|
||||
TEST_ASSERT_DOUBLE_ARRAY_WITHIN(NAN, p0, p0, 4);
|
||||
VERIFY_FAILS_END
|
||||
#endif
|
||||
}
|
||||
|
||||
void testEqualDoubleEachEqual(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_DOUBLE
|
||||
|
||||
@@ -1022,6 +1022,47 @@ void testNotEqualFloatArraysLengthZero(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void testFloatArraysWithin(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_FLOAT
|
||||
TEST_IGNORE();
|
||||
#else
|
||||
float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
|
||||
float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
|
||||
float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
|
||||
float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
|
||||
float p4[] = {2.0f, -9.0f, 26.2f, 0.26f};
|
||||
float p5[] = {-1.0f, -7.0f, 29.0f, 2.6f};
|
||||
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p0, 1);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p0, 4);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p1, 4);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p2, 3);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p3, 1);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p4, 1);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p4, 4);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(2.0f, p0, p5, 1);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(2.0f, p0, p5, 2);
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, NULL, NULL, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void testFloatArraysWithinUnusualDelta(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_FLOAT
|
||||
TEST_IGNORE();
|
||||
#else
|
||||
float p0[] = {(float)-INFINITY, -8.0f, 25.4f, -0.123f};
|
||||
float p1[] = {(float)INFINITY, 10.1f};
|
||||
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(INFINITY, p0, p1, 2);
|
||||
|
||||
EXPECT_ABORT_BEGIN
|
||||
TEST_ASSERT_FLOAT_ARRAY_WITHIN(NAN, p0, p0, 4);
|
||||
VERIFY_FAILS_END
|
||||
#endif
|
||||
}
|
||||
|
||||
void testEqualFloatEachEqual(void)
|
||||
{
|
||||
#ifdef UNITY_EXCLUDE_FLOAT
|
||||
|
||||
Reference in New Issue
Block a user