Commit a177557

mo khan <mo.khan@gmail.com>
2020-06-22 22:18:05
Swap head/tail adjacent
1 parent bd9961b
Changed files (1)
assignments/01/swap_doubly_linked_list_test.c
@@ -153,7 +153,7 @@ Ensure(DoublyLinkedList, when_getting_index_out_of_range) {
   free(head);
 }
 
-Ensure(DoublyLinkedList, when_swapping_head) {
+Ensure(DoublyLinkedList, when_swapping_head_adjacent) {
   Node *head = initialize(100);
   Node *mid = add(head, 200);
   Node *tail = add(head, 300);
@@ -177,7 +177,7 @@ Ensure(DoublyLinkedList, when_swapping_head) {
   free(head);
 }
 
-Ensure(DoublyLinkedList, when_swapping_y_head) {
+Ensure(DoublyLinkedList, when_swapping_y_head_adjacent) {
   Node *head = initialize(100);
   Node *mid = add(head, 200);
   Node *tail = add(head, 300);
@@ -313,20 +313,24 @@ Ensure(DoublyLinkedList, when_swapping_mid_adjacent_y) {
   free(head);
 }
 
-Ensure(DoublyLinkedList, when_swapping_tail) {
+Ensure(DoublyLinkedList, when_swapping_tail_adjacent) {
   Node *head = initialize(100);
   Node *mid = add(head, 200);
   Node *tail = add(head, 300);
 
-  /*swap(&head, 1, 2);*/
   swap(mid, tail);
 
-  assert_that(get(head, 0), is_non_null);
-  assert_that(get(head, 0)->data, is_equal_to(100));
-  assert_that(get(head, 1), is_non_null);
-  assert_that(get(head, 1)->data, is_equal_to(300));
-  assert_that(get(head, 2), is_non_null);
-  assert_that(get(head, 2)->data, is_equal_to(200));
+  assert_that(head->prev, is_equal_to(NULL));
+  assert_that(head->data, is_equal_to(100));
+  assert_that(head->next, is_equal_to(tail));
+
+  assert_that(mid->prev, is_equal_to(tail));
+  assert_that(mid->data, is_equal_to(200));
+  assert_that(mid->next, is_equal_to(NULL));
+
+  assert_that(tail->prev, is_equal_to(head));
+  assert_that(tail->data, is_equal_to(300));
+  assert_that(tail->next, is_equal_to(mid));
 
   free(head);
 }
@@ -368,13 +372,13 @@ TestSuite *swap_doubly_linked_list_tests() {
   add_test_with_context(suite, DoublyLinkedList, when_getting_negative_index);
   add_test_with_context(suite, DoublyLinkedList, when_getting_index_out_of_range);
 
-  /*add_test_with_context(suite, DoublyLinkedList, when_swapping_head);*/
-  /*add_test_with_context(suite, DoublyLinkedList, when_swapping_y_head);*/
+  add_test_with_context(suite, DoublyLinkedList, when_swapping_head_adjacent);
+  add_test_with_context(suite, DoublyLinkedList, when_swapping_y_head_adjacent);
   add_test_with_context(suite, DoublyLinkedList, when_swapping_mid);
   add_test_with_context(suite, DoublyLinkedList, when_swapping_y_mid);
   add_test_with_context(suite, DoublyLinkedList, when_swapping_mid_adjacent);
   add_test_with_context(suite, DoublyLinkedList, when_swapping_mid_adjacent_y);
-  /*add_test_with_context(suite, DoublyLinkedList, when_swapping_tail);*/
+  add_test_with_context(suite, DoublyLinkedList, when_swapping_tail_adjacent);
   /*add_test_with_context(suite, DoublyLinkedList, when_swapping_index_out_of_range);*/
   add_test_with_context(suite, DoublyLinkedList, when_swapping_self);