Commit 50d10ed

mo khan <mo.khan@gmail.com>
2020-06-28 20:31:20
Add duplicates
1 parent fec6a09
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();