提交 8152932f 编写于 作者: G Greg Williams

Merge pull request #8 from alejmrm/fix_within_message

Fix issue #7 INTx_WITHIN_MESSAGE() macro
......@@ -454,11 +454,11 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((_U_SINT)(mask), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line)
#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UP)(expected), (_U_SINT)(_UP)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)line)
......
......@@ -699,6 +699,18 @@ void testIntsWithinDelta(void)
TEST_ASSERT_INT_WITHIN(5, -1, 1);
}
void testIntsWithinDeltaAndCustomMessage(void)
{
TEST_ASSERT_INT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(500, 50, -440, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(2, -1, -1, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
TEST_ASSERT_INT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
}
void testIntsNotWithinDelta(void)
{
EXPECT_ABORT_BEGIN
......@@ -706,6 +718,13 @@ void testIntsNotWithinDelta(void)
VERIFY_FAILS_END
}
void testIntsNotWithinDeltaAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5006, "Custom Message.");
VERIFY_FAILS_END
}
void testUIntsWithinDelta(void)
{
TEST_ASSERT_UINT_WITHIN(1, 5000, 5001);
......@@ -713,6 +732,13 @@ void testUIntsWithinDelta(void)
TEST_ASSERT_UINT_WITHIN(5, 5000, 5005);
}
void testUIntsWithinDeltaAndCustomMessage(void)
{
TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
}
void testUIntsNotWithinDelta(void)
{
EXPECT_ABORT_BEGIN
......@@ -720,6 +746,13 @@ void testUIntsNotWithinDelta(void)
VERIFY_FAILS_END
}
void testUIntsNotWithinDeltaAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
VERIFY_FAILS_END
}
void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)
{
EXPECT_ABORT_BEGIN
......@@ -727,6 +760,13 @@ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)
VERIFY_FAILS_END
}
void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
VERIFY_FAILS_END
}
void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)
{
EXPECT_ABORT_BEGIN
......@@ -734,6 +774,13 @@ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)
VERIFY_FAILS_END
}
void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_UINT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
VERIFY_FAILS_END
}
void testHEX32sWithinDelta(void)
{
TEST_ASSERT_HEX32_WITHIN(1, 5000, 5001);
......@@ -741,6 +788,13 @@ void testHEX32sWithinDelta(void)
TEST_ASSERT_HEX32_WITHIN(5, 5000, 5005);
}
void testHEX32sWithinDeltaAndCustomMessage(void)
{
TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
}
void testHEX32sNotWithinDelta(void)
{
EXPECT_ABORT_BEGIN
......@@ -748,6 +802,13 @@ void testHEX32sNotWithinDelta(void)
VERIFY_FAILS_END
}
void testHEX32sNotWithinDeltaAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
VERIFY_FAILS_END
}
void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
{
EXPECT_ABORT_BEGIN
......@@ -755,6 +816,13 @@ void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
VERIFY_FAILS_END
}
void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
VERIFY_FAILS_END
}
void testHEX16sWithinDelta(void)
{
TEST_ASSERT_HEX16_WITHIN(1, 5000, 5001);
......@@ -762,11 +830,23 @@ void testHEX16sWithinDelta(void)
TEST_ASSERT_HEX16_WITHIN(5, 5000, 5005);
}
void testHEX16sWithinDeltaAndCustomMessage(void)
{
TEST_ASSERT_HEX16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
}
void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
{
TEST_ASSERT_HEX16_WITHIN(5, 0x54321, 0x44321);
}
void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
{
TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
}
void testHEX16sNotWithinDelta(void)
{
EXPECT_ABORT_BEGIN
......@@ -774,6 +854,13 @@ void testHEX16sNotWithinDelta(void)
VERIFY_FAILS_END
}
void testHEX16sNotWithinDeltaAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_HEX16_WITHIN_MESSAGE(2, 65535, 0, "Custom Message.");
VERIFY_FAILS_END
}
void testHEX8sWithinDelta(void)
{
TEST_ASSERT_HEX8_WITHIN(1, 254, 255);
......@@ -781,11 +868,23 @@ void testHEX8sWithinDelta(void)
TEST_ASSERT_HEX8_WITHIN(5, 1, 4);
}
void testHEX8sWithinDeltaAndCustomMessage(void)
{
TEST_ASSERT_HEX8_WITHIN_MESSAGE(1, 254, 255, "Custom Message.");
TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 251, 255, "Custom Message.");
TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
}
void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
{
TEST_ASSERT_HEX8_WITHIN(5, 0x123, 0xF23);
}
void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
{
TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
}
void testHEX8sNotWithinDelta(void)
{
EXPECT_ABORT_BEGIN
......@@ -793,6 +892,13 @@ void testHEX8sNotWithinDelta(void)
VERIFY_FAILS_END
}
void testHEX8sNotWithinDeltaAndCustomMessage(void)
{
EXPECT_ABORT_BEGIN
TEST_ASSERT_HEX8_WITHIN_MESSAGE(2, 255, 0, "Custom Message.");
VERIFY_FAILS_END
}
void testEqualStrings(void)
{
const char *testString = "foo";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册