Commit b432929
Changed files (4)
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