From b4329298825bb6e9783bb463e786a4253422efd3 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sun, 28 Jun 2020 12:53:57 -0600 Subject: Add MinStack test --- Makefile | 7 +++++-- assignments/01/min_stack_test.c | 26 ++++++++++++++++++++++++++ assignments/01/swap_doubly_linked_list_test.c | 2 ++ main.c | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 assignments/01/min_stack_test.c diff --git a/Makefile b/Makefile index 9044d67..a7cb850 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,8 @@ doc : doc/ run : main ./main -main : main.o words_test.o words.o priority_queue_test.o stack_test.o swap_singly_linked_list_test.o swap_doubly_linked_list_test.o - $(CC) main.o words_test.o words.o priority_queue_test.o stack_test.o swap_singly_linked_list_test.o swap_doubly_linked_list_test.o -lcgreen -o main +main : main.o words_test.o words.o priority_queue_test.o stack_test.o swap_singly_linked_list_test.o swap_doubly_linked_list_test.o min_stack_test.o + $(CC) main.o words_test.o words.o priority_queue_test.o stack_test.o swap_singly_linked_list_test.o swap_doubly_linked_list_test.o min_stack_test.o -lcgreen -o main main.o : main.c $(CC) -c main.c @@ -31,6 +31,9 @@ priority_queue_test.o : assignments/01/priority_queue_test.c stack_test.o : assignments/01/stack_test.c $(CC) -c assignments/01/stack_test.c +min_stack_test.o : assignments/01/min_stack_test.c + $(CC) -c assignments/01/min_stack_test.c + swap_singly_linked_list_test.o : assignments/01/swap_singly_linked_list_test.c $(CC) -c assignments/01/swap_singly_linked_list_test.c diff --git a/assignments/01/min_stack_test.c b/assignments/01/min_stack_test.c new file mode 100644 index 0000000..be0c989 --- /dev/null +++ b/assignments/01/min_stack_test.c @@ -0,0 +1,26 @@ +#include + +/* +Design and implement a `MinStack` data structure that can store +comparable elements and supports the stack operations: + +* `push(x)` +* `pop()` +* `size()` +* `min()` +All operations should run in constant time. +*/ + +Describe(MinStack); +BeforeEach(MinStack){ } +AfterEach(MinStack){ } + +Ensure(MinStack, when_getting_head) { +} + +TestSuite *min_stack_tests() { + TestSuite *suite = create_test_suite(); + + /*add_test_with_context(suite, MinStack, when_pushing_it);*/ + return suite; +} diff --git a/assignments/01/swap_doubly_linked_list_test.c b/assignments/01/swap_doubly_linked_list_test.c index d79bdfc..0520f67 100644 --- a/assignments/01/swap_doubly_linked_list_test.c +++ b/assignments/01/swap_doubly_linked_list_test.c @@ -543,6 +543,8 @@ Ensure(DoublyLinkedList, when_reversing_a_short_list) { assert_that(head->prev, is_equal_to(mid)); assert_that(head->next, is_equal_to(NULL)); + + free(head); } Ensure(DoublyLinkedList, when_reversing_an_empty_list) { diff --git a/main.c b/main.c index b80ffa5..f7d1965 100644 --- a/main.c +++ b/main.c @@ -5,6 +5,7 @@ TestSuite *priority_queue_tests(); TestSuite *stack_tests(); TestSuite *swap_singly_linked_list_tests(); TestSuite *swap_doubly_linked_list_tests(); +TestSuite *min_stack_tests(); int main(int argc, char **argv) { TestSuite *suite = create_test_suite(); @@ -14,6 +15,7 @@ int main(int argc, char **argv) { add_suite(suite, stack_tests()); add_suite(suite, swap_singly_linked_list_tests()); add_suite(suite, swap_doubly_linked_list_tests()); + add_suite(suite, min_stack_tests()); if (argc > 1) return run_single_test(suite, argv[1], create_text_reporter()); -- cgit v1.2.3