Commit b432929

mo khan <mo.khan@gmail.com>
2020-06-28 18:53:57
Add MinStack test
1 parent 26bf5c8
assignments/01/min_stack_test.c
@@ -0,0 +1,26 @@
+#include <cgreen/cgreen.h>
+
+/*
+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;
+}
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) {
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());
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