Commit 50d10ed
Changed files (1)
assignments
assignments/01/min_stack_test.c
@@ -62,12 +62,10 @@ static void insert(Node **self, int data) {
else
(*self)->next = node;
break;
- case -1:
+ default:
node->next = *self;
*self = node;
break;
- default:
- break;
}
}
@@ -142,6 +140,24 @@ Ensure(MinStack, when_pushing_multiple_integers_out_of_order) {
free(stack);
}
+Ensure(MinStack, when_pushing_duplicate_values_on_to_the_stack) {
+ Stack *stack = initialize();
+
+ push(stack, 2);
+ push(stack, 1);
+ push(stack, 2);
+
+ assert_that(size(stack), is_equal_to(3));
+ assert_that(min(stack), is_equal_to(1));
+
+ assert_that(pop(stack), is_equal_to(1));
+ assert_that(pop(stack), is_equal_to(2));
+ assert_that(pop(stack), is_equal_to(2));
+ assert_that(pop(stack), is_equal_to(NULL));
+
+ free(stack);
+}
+
TestSuite *min_stack_tests() {
TestSuite *suite = create_test_suite();