Beispiel #1
0
TEST_C(DequeTests, DequeFilter2)
{
    int a = 1;
    int b = 2;
    int c = 3;
    int d = 4;
    int e = 5;
    int f = 6;

    deque_add_last(deque, &a);
    deque_add_last(deque, &b);
    deque_add_last(deque, &c);
    deque_add_last(deque, &d);
    deque_add_last(deque, &e);
    deque_add_last(deque, &f);
    CHECK_EQUAL_C_INT(6, deque_size(deque));

    Deque *filter = NULL;
    deque_filter(deque, pred2, &filter);
    const void * const* buff = deque_get_buffer(filter);

    CHECK_EQUAL_C_INT(3, deque_size(filter));
    CHECK_EQUAL_C_POINTER(buff[0], &d);
    CHECK_EQUAL_C_POINTER(buff[1], &e);
    CHECK_EQUAL_C_POINTER(buff[2], &f);

    free(filter);
};
Beispiel #2
0
TEST_C(DequeTests, DequeAddAt1)
{
    /* index < (size / 2) && index_raw > first_raw */

    int a = 1;
    int b = 2;
    int c = 3;
    int d = 4;
    int e = 5;
    int f = 6;
    int g = 999;

    deque_add_last(deque, &a);
    deque_add_last(deque, &b);
    deque_add_last(deque, &c);
    deque_add_last(deque, &d);
    deque_add_last(deque, &e);
    deque_add_last(deque, &f);

    deque_add_at(deque, &g, 4);

    const void * const* buff = deque_get_buffer(deque);

    CHECK_EQUAL_C_POINTER(buff[4], &g);

    CHECK_EQUAL_C_POINTER(buff[5], &e);

    const void *elem = buff[6];
    CHECK_EQUAL_C_POINTER(elem, &f);
};
Beispiel #3
0
TEST_C(DequeTests, DequeAddAt3)
{
    /* index >= size / 2 && index_raw > last_raw */

    int a = 1;
    int b = 2;
    int c = 3;
    int d = 4;
    int e = 5;
    int f = 6;
    int g = 999;

    deque_add_last(deque, &a);
    deque_add_first(deque, &b);
    deque_add_first(deque, &c);
    deque_add_first(deque, &d);
    deque_add_first(deque, &e);
    deque_add_first(deque, &f);

    deque_add_at(deque, &g, 3);

    const void * const* buff = deque_get_buffer(deque);

    const void *elem = buff[6];
    CHECK_EQUAL_C_POINTER(elem, &g);

    const void *elem1 = buff[0];
    CHECK_EQUAL_C_POINTER(elem1, &b);

    const void *elem2 = buff[7];
    CHECK_EQUAL_C_POINTER(elem2, &c);

    const void *elem3 = buff[1];
    CHECK_EQUAL_C_POINTER(elem3, &a);
};
Beispiel #4
0
TEST_C(DequeTests, DequeIteratorNext)
{
    int a = 1;
    int b = 2;
    int c = 3;
    int d = 4;
    int e = 5;
    int f = 6;

    deque_add(deque, &a);
    deque_add(deque, &b);
    deque_add(deque, &c);
    deque_add(deque, &d);
    deque_add(deque, &e);
    deque_add(deque, &f);

    DequeIter iter;
    deque_iter_init(&iter, deque);

    size_t i = 0;

    void *el;
    while (deque_iter_next(&iter, &el) != CC_ITER_END) {
        void *k;
        deque_get_at(deque, i, &k);
        CHECK_EQUAL_C_POINTER(k, el);
        i++;

        CHECK_EQUAL_C_INT(i, iter.index);
    }
};
Beispiel #5
0
TEST(TestHarness_c, checkBits)
{
    CHECK_EQUAL_C_POINTER(NULL, NULL);
    fixture->setTestFunction(_failBitsMethod);
    fixture->runAllTests();
    fixture->assertPrintContains("expected <00000000 00000001>\n\tbut was  <00000000 00000011>");
    fixture->assertPrintContains("arness_c");
    CHECK(!hasDestructorOfTheDestructorCheckedBeenCalled)
}
TEST(TestHarness_c, checkPointer)
{
    CHECK_EQUAL_C_POINTER(NULLPTR, NULLPTR);
    fixture->setTestFunction(_failPointerMethod);
    fixture->runAllTests();
    fixture->assertPrintContains("expected <0x0>\n	but was  <0x1>");
    fixture->assertPrintContains("arness_c");
    CHECK(!hasDestructorOfTheDestructorCheckedBeenCalled);
}
Beispiel #7
0
TEST_C(StackTestsWithDefaults, StackPop)
{
    int a = 1;
    int b = 2;
    int c = 3;

    stack_push(s, (void*)&a);
    stack_push(s, (void*)&b);
    stack_push(s, (void*)&c);

    int *pop;
    int *peek;

    stack_pop(s, (void*)&pop);
    CHECK_EQUAL_C_POINTER(&c, pop);

    stack_peek(s, (void*)&peek);
    CHECK_EQUAL_C_POINTER(&b, peek);
};
Beispiel #8
0
TEST_C(StackTestsWithDefaults, StackPush)
{
    int a = 1;
    int b = 2;
    int c = 3;

    int *p;

    stack_push(s, (void*)&a);
    stack_peek(s, (void*)&p);
    CHECK_EQUAL_C_POINTER(&a, p);

    stack_push(s, (void*) &b);
    stack_peek(s, (void*)&p);
    CHECK_EQUAL_C_POINTER(&b, p);

    stack_push(s, (void*)&c);
    stack_peek(s, (void*)&p);
    CHECK_EQUAL_C_POINTER(&c, p);
};
Beispiel #9
0
TEST_C(DequeTests, DequeAddLast)
{
    int a = 1;
    int b = 2;
    int c = 3;

    deque_add_last(deque, &a);
    deque_add_last(deque, &b);
    deque_add_last(deque, &c);

    CHECK_EQUAL_C_INT(3, deque_size(deque));

    const void * const* u= deque_get_buffer(deque);
    const void *e = u[0];

    CHECK_EQUAL_C_POINTER(e, &a);

    e = u[1];
    CHECK_EQUAL_C_POINTER(e, &b);

    e = u[2];
    CHECK_EQUAL_C_POINTER(e, &c);
};
Beispiel #10
0
TEST_C(DequeTests, DequeAddFirst)
{
    int a = 1;
    int b = 2;
    int c = 3;

    deque_add_first(deque, &a);
    deque_add_first(deque, &b);
    deque_add_first(deque, &c);

    CHECK_EQUAL_C_INT(3, deque_size(deque));

    size_t m = deque_capacity(deque);
    const void * const* u = deque_get_buffer(deque);
    const void *e = u[m - 1];

    CHECK_EQUAL_C_POINTER(e, &a);

    e = u[m - 2];
    CHECK_EQUAL_C_POINTER(e, &b);

    e = u[m - 3];
    CHECK_EQUAL_C_POINTER(e, &c);
};
Beispiel #11
0
static void _failPointerMethod()
{
    HasTheDestructorBeenCalledChecker checker;
    CHECK_EQUAL_C_POINTER(NULL, (void *)0x1);
}