tests/unittests/tests-core/tests-core-ringbuffer: test underflow

This commit is contained in:
MyCodeMyMoney 2020-01-07 05:29:23 -06:00 committed by Francisco Molina
parent 7f44c02f45
commit 4167d4dd9b

View File

@ -131,11 +131,33 @@ static void tests_core_ringbuffer_remove(void)
} }
static void tests_core_ringbuffer_remove_underflow(void)
{
char mem[3];
ringbuffer_t buf;
ringbuffer_init(&buf, mem, sizeof(mem));
ringbuffer_add_one(&buf, 0);
ringbuffer_add_one(&buf, 1);
ringbuffer_remove(&buf, 2);
TEST_ASSERT_EQUAL_INT(1, ringbuffer_empty(&buf));
ringbuffer_add_one(&buf, 0);
ringbuffer_add_one(&buf, 1);
ringbuffer_remove(&buf,1);
TEST_ASSERT_EQUAL_INT(1, ringbuffer_get_one(&buf));
TEST_ASSERT_EQUAL_INT(1, ringbuffer_empty(&buf));
}
Test *tests_core_ringbuffer_tests(void) Test *tests_core_ringbuffer_tests(void)
{ {
EMB_UNIT_TESTFIXTURES(fixtures) { EMB_UNIT_TESTFIXTURES(fixtures) {
new_TestFixture(tests_core_ringbuffer), new_TestFixture(tests_core_ringbuffer),
new_TestFixture(tests_core_ringbuffer_remove), new_TestFixture(tests_core_ringbuffer_remove),
new_TestFixture(tests_core_ringbuffer_remove_underflow),
}; };
EMB_UNIT_TESTCALLER(ringbuffer_tests, NULL, NULL, fixtures); EMB_UNIT_TESTCALLER(ringbuffer_tests, NULL, NULL, fixtures);