/*
- * Copyright (C) 2009 J. Ali Harlow <ali@juiblex.co.uk>
+ * Copyright (C) 2009, 2012 J. Ali Harlow <ali@juiblex.co.uk>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
items = array->data;
DEQUE_TEST(deque_push, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_TEST(deque_push, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 2);
for(n = 1; n <= count; n++) {
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++) {
DEQUE_TEST(deque_push, &deque, items[i]);
- for(i = n - 1; i >= 0; i--)
+ DEQUE_CHECK(deque_length, &deque, 2 + i + 1);
+ }
+ for(i = n - 1; i >= 0; i--) {
DEQUE_CHECK(deque_pop, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, 2 + i);
+ }
}
DEQUE_CHECK(deque_pop, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_CHECK(deque_pop, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 0);
DEQUE_ENSURE_EMPTY(&deque);
items = array->data;
DEQUE_TEST(deque_unshift, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_TEST(deque_unshift, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 2);
for(n = 1; n <= count; n++) {
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++) {
DEQUE_TEST(deque_unshift, &deque, items[i]);
- for(i = n - 1; i >= 0; i--)
+ DEQUE_CHECK(deque_length, &deque, 2 + i + 1);
+ }
+ for(i = n - 1; i >= 0; i--) {
DEQUE_CHECK(deque_shift, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, 2 + i);
+ }
}
DEQUE_CHECK(deque_shift, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_CHECK(deque_shift, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 0);
DEQUE_ENSURE_EMPTY(&deque);
items = array->data;
for(n = 1; n <= count; n++) {
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++) {
DEQUE_TEST(deque_push, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, i + 1);
+ }
DEQUE_TEST(deque_push, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, n + 1);
DEQUE_TEST(deque_push, &deque, 0x2A);
- for(i = 0; i < n; i++)
+ DEQUE_CHECK(deque_length, &deque, n + 2);
+ for(i = 0; i < n; i++) {
DEQUE_CHECK(deque_shift, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, n + 2 - i - 1);
+ }
DEQUE_CHECK(deque_shift, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_CHECK(deque_shift, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 0);
}
DEQUE_ENSURE_EMPTY(&deque);
items = array->data;
for(n = 1; n <= count; n++) {
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++) {
DEQUE_TEST(deque_unshift, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, i + 1);
+ }
DEQUE_TEST(deque_unshift, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, n + 1);
DEQUE_TEST(deque_unshift, &deque, 0x2A);
- for(i = 0; i < n; i++)
+ DEQUE_CHECK(deque_length, &deque, n + 2);
+ for(i = 0; i < n; i++) {
DEQUE_CHECK(deque_pop, &deque, items[i]);
+ DEQUE_CHECK(deque_length, &deque, n + 2 - i - 1);
+ }
DEQUE_CHECK(deque_pop, &deque, 0x25);
+ DEQUE_CHECK(deque_length, &deque, 1);
DEQUE_CHECK(deque_pop, &deque, 0x2A);
+ DEQUE_CHECK(deque_length, &deque, 0);
}
DEQUE_ENSURE_EMPTY(&deque);