tests: extend cib unittest

This commit is contained in:
René Kijewski 2014-11-11 17:39:20 +01:00
parent b579372605
commit f23771c6fe

View File

@ -14,16 +14,15 @@
#define TEST_CIB_SIZE 2 #define TEST_CIB_SIZE 2
cib_t cib; static cib_t cib;
static void set_up(void) static void set_up(void)
{ {
cib_init(&cib, 2); cib_init(&cib, TEST_CIB_SIZE);
} }
static void test_cib_put(void) static void test_cib_put(void)
{ {
TEST_ASSERT_EQUAL_INT(0, cib_put(&cib)); TEST_ASSERT_EQUAL_INT(0, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(1, cib_put(&cib)); TEST_ASSERT_EQUAL_INT(1, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_put(&cib)); TEST_ASSERT_EQUAL_INT(-1, cib_put(&cib));
@ -46,12 +45,44 @@ static void test_cib_avail(void)
TEST_ASSERT_EQUAL_INT(2, cib_avail(&cib)); TEST_ASSERT_EQUAL_INT(2, cib_avail(&cib));
} }
static void test_cib_put_and_get(void)
{
TEST_ASSERT_EQUAL_INT(0, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(0, cib_get(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_get(&cib));
TEST_ASSERT_EQUAL_INT(1, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(0, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_put(&cib));
}
static void test_empty_cib(void)
{
cib_init(&cib, 0);
TEST_ASSERT_EQUAL_INT(0, cib_avail(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_get(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_put(&cib));
}
static void test_singleton_cib(void)
{
cib_init(&cib, 1);
TEST_ASSERT_EQUAL_INT(0, cib_avail(&cib));
TEST_ASSERT_EQUAL_INT(-1, cib_get(&cib));
TEST_ASSERT_EQUAL_INT(0, cib_put(&cib));
TEST_ASSERT_EQUAL_INT(1, cib_avail(&cib));
TEST_ASSERT_EQUAL_INT(0, cib_get(&cib));
TEST_ASSERT_EQUAL_INT(0, cib_avail(&cib));
}
Test *tests_core_cib_tests(void) Test *tests_core_cib_tests(void)
{ {
EMB_UNIT_TESTFIXTURES(fixtures) { EMB_UNIT_TESTFIXTURES(fixtures) {
new_TestFixture(test_cib_put), new_TestFixture(test_cib_put),
new_TestFixture(test_cib_get), new_TestFixture(test_cib_get),
new_TestFixture(test_cib_avail), new_TestFixture(test_cib_avail),
new_TestFixture(test_cib_put_and_get),
new_TestFixture(test_empty_cib),
new_TestFixture(test_singleton_cib),
}; };
EMB_UNIT_TESTCALLER(core_cib_tests, set_up, NULL, fixtures); EMB_UNIT_TESTCALLER(core_cib_tests, set_up, NULL, fixtures);