More thorough test for this scenario.
This commit is contained in:
		
							parent
							
								
									aa7accb3f1
								
							
						
					
					
						commit
						1b6d79b26c
					
				| @ -442,22 +442,38 @@ void test_move_card_from_empty_stack_to_non_empty_stack() { | |||||||
| 
 | 
 | ||||||
| void test_move_card_from_non_empty_stack_to_empty_stack() { | void test_move_card_from_non_empty_stack_to_empty_stack() { | ||||||
|   struct stack *origin, *destination; |   struct stack *origin, *destination; | ||||||
|   struct card *card; |   struct card *card[6]; | ||||||
| 
 | 
 | ||||||
|   allocate_card(&card); |   for (int i = 0; i < 6; i++) { | ||||||
|   initialize_card(card); |     allocate_card(&card[i]); | ||||||
|   set_card(card, TWO, DIAMONDS, EXPOSED, 0, 0); |     initialize_card(card[i]); | ||||||
|  |     set_card(card[i], TWO + i, i % 5, i % 2, 99, 99); | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   allocate_stack(&origin); |   allocate_stack(&origin); | ||||||
|   allocate_stack(&destination); |   allocate_stack(&destination); | ||||||
|   initialize_stack(origin); |   initialize_stack(origin); | ||||||
|   initialize_stack(destination); |   initialize_stack(destination); | ||||||
|   push(&origin, card); |   for (int i = 0; i < 6; i++) { | ||||||
|  |     push(&origin, card[i]); | ||||||
|  |   } | ||||||
|   move_card(&origin, &destination); |   move_card(&origin, &destination); | ||||||
| 
 | 
 | ||||||
|   assert(empty(origin)); |   assert(length(origin) == 5); | ||||||
|   assert(length(destination) == 1); |   assert(length(destination) == 1); | ||||||
|   assert(cards_equal(destination->card, card)); |   assert(cards_equal(destination->card, card[5])); | ||||||
|  | 
 | ||||||
|  |   move_card(&origin, &destination); | ||||||
|  | 
 | ||||||
|  |   assert(length(origin) == 4); | ||||||
|  |   assert(length(destination) == 2); | ||||||
|  |   assert(cards_equal(destination->card, card[4])); | ||||||
|  | 
 | ||||||
|  |   move_card(&origin, &destination); | ||||||
|  | 
 | ||||||
|  |   assert(length(origin) == 3); | ||||||
|  |   assert(length(destination) == 3); | ||||||
|  |   assert(cards_equal(destination->card, card[3])); | ||||||
| 
 | 
 | ||||||
|   free_stack(origin); |   free_stack(origin); | ||||||
|   free_stack(destination); |   free_stack(destination); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user