From 5a869f2d5656523646b7526d59d48f49708a4c8c Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sat, 15 Aug 2020 16:31:12 +0200 Subject: Einfache Testroutine hinzugefügt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deque.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'deque.c') diff --git a/deque.c b/deque.c index f1da207..0e0bbf0 100644 --- a/deque.c +++ b/deque.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -276,9 +277,75 @@ deque_show(struct deque *d) putchar('\n'); } +void +test_deque(void) +{ + struct deque d[1]; + + deque_init(d); + + const int N = 10000000; + + for ( int i = 0; i != N; ++i ) { + deque_push_front(d, i); + } + + for ( int i = 0; i != N; ++i ) { + int data; + assert(deque_pop_back(d, &data) == true); + assert(data == i); + } + + deque_free(d); + + deque_init(d); + + for ( int i = 0; i != N; ++i ) { + deque_push_back(d, i); + } + + for ( int i = 0; i != N; ++i ) { + int data; + assert(deque_pop_front(d, &data) == true); + assert(data == i); + } + + deque_free(d); + + deque_init(d); + + for ( int i = 0; i != N; ++i ) { + deque_push_back(d, i); + } + + for ( int i = N - 1; i >= 0; --i ) { + int data; + assert(deque_pop_back(d, &data) == true); + assert(data == i); + } + + deque_free(d); + + deque_init(d); + + for ( int i = 0; i != N; ++i ) { + deque_push_front(d, i); + } + + for ( int i = N - 1; i >= 0; --i ) { + int data; + assert(deque_pop_front(d, &data) == true); + assert(data == i); + } + + deque_free(d); +} + int main(void) { + test_deque(); + struct deque c; deque_init(&c); -- cgit v1.3