@@ -119,7 +119,7 @@ void test_valid_move_from_waste_pile_to_foundation_stacks() {
119119
120120 stack_malloc (& waste_pile );
121121 stack_init (waste_pile );
122- card_set (waste_pile -> card , ACE , SPADES , EXPOSED , WASTE_PILE_BEGIN_Y , WASTE_PILE_BEGIN_X );
122+ card_set (waste_pile -> card , TWO , SPADES , EXPOSED , WASTE_PILE_BEGIN_Y , WASTE_PILE_BEGIN_X );
123123 for (int i = 0 ; i < 4 ; i ++ ) {
124124 stack_malloc (& foundation_stacks [i ]);
125125 stack_init (foundation_stacks [i ]);
@@ -129,7 +129,6 @@ void test_valid_move_from_waste_pile_to_foundation_stacks() {
129129 card_set (foundation_stacks [2 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_2_BEGIN_X );
130130 card_set (foundation_stacks [3 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_3_BEGIN_X );
131131 for (int i = 0 ; i < 4 ; i ++ ) {
132- // TODO: fix error here
133132 assert (valid_move (waste_pile , foundation_stacks [i ]));
134133 }
135134 stack_free (waste_pile );
@@ -143,20 +142,19 @@ void test_valid_move_from_waste_pile_to_maneuvre_stacks() {
143142
144143 stack_malloc (& waste_pile );
145144 stack_init (waste_pile );
146- card_set (waste_pile -> card , ACE , SPADES , EXPOSED , WASTE_PILE_BEGIN_Y , WASTE_PILE_BEGIN_X );
145+ card_set (waste_pile -> card , ACE , DIAMONDS , EXPOSED , WASTE_PILE_BEGIN_Y , WASTE_PILE_BEGIN_X );
147146 for (int i = 0 ; i < 7 ; i ++ ) {
148147 stack_malloc (& maneuvre_stacks [i ]);
149148 stack_init (maneuvre_stacks [i ]);
150149 }
151- card_set (maneuvre_stacks [0 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
152- card_set (maneuvre_stacks [1 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
153- card_set (maneuvre_stacks [2 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
154- card_set (maneuvre_stacks [3 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
155- card_set (maneuvre_stacks [4 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
156- card_set (maneuvre_stacks [5 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
157- card_set (maneuvre_stacks [6 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
150+ card_set (maneuvre_stacks [0 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
151+ card_set (maneuvre_stacks [1 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
152+ card_set (maneuvre_stacks [2 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
153+ card_set (maneuvre_stacks [3 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
154+ card_set (maneuvre_stacks [4 ]-> card , TWO , CLUBS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
155+ card_set (maneuvre_stacks [5 ]-> card , TWO , CLUBS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
156+ card_set (maneuvre_stacks [6 ]-> card , TWO , CLUBS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
158157 for (int i = 0 ; i < 7 ; i ++ ) {
159- // TODO: fix error here
160158 assert (valid_move (waste_pile , maneuvre_stacks [i ]));
161159 }
162160 stack_free (waste_pile );
@@ -219,15 +217,14 @@ void test_valid_move_from_foundation_stack_to_foundation_stacks() {
219217 stack_init (foundation_stacks [i ]);
220218 }
221219 card_set (foundation_stacks [0 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_0_BEGIN_X );
222- card_set (foundation_stacks [1 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_1_BEGIN_X );
223- card_set (foundation_stacks [2 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_2_BEGIN_X );
224- card_set (foundation_stacks [3 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_3_BEGIN_X );
220+ card_set (foundation_stacks [1 ]-> card , TWO , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_1_BEGIN_X );
221+ card_set (foundation_stacks [2 ]-> card , THREE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_2_BEGIN_X );
222+ card_set (foundation_stacks [3 ]-> card , FOUR , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_3_BEGIN_X );
225223 for (int i = 0 ; i < 4 ; i ++ ) {
226224 for (int j = 0 ; j < 4 ; j ++ ) {
227- if (i == j ) {
225+ if (i != j + 1 ) {
228226 assert (!valid_move (foundation_stacks [i ], foundation_stacks [j ]));
229227 } else {
230- // TODO: fix error here
231228 assert (valid_move (foundation_stacks [i ], foundation_stacks [j ]));
232229 }
233230 }
@@ -247,22 +244,21 @@ void test_valid_move_from_foundation_stack_to_maneuvre_stacks() {
247244 }
248245 card_set (foundation_stacks [0 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_0_BEGIN_X );
249246 card_set (foundation_stacks [1 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_1_BEGIN_X );
250- card_set (foundation_stacks [2 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_2_BEGIN_X );
251- card_set (foundation_stacks [3 ]-> card , ACE , SPADES , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_3_BEGIN_X );
247+ card_set (foundation_stacks [2 ]-> card , ACE , CLUBS , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_2_BEGIN_X );
248+ card_set (foundation_stacks [3 ]-> card , ACE , CLUBS , EXPOSED , FOUNDATION_BEGIN_Y , FOUNDATION_3_BEGIN_X );
252249 for (int i = 0 ; i < 7 ; i ++ ) {
253250 stack_malloc (& maneuvre_stacks [i ]);
254251 stack_init (maneuvre_stacks [i ]);
255252 }
256- card_set (maneuvre_stacks [0 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
257- card_set (maneuvre_stacks [1 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
258- card_set (maneuvre_stacks [2 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
259- card_set (maneuvre_stacks [3 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
260- card_set (maneuvre_stacks [4 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
261- card_set (maneuvre_stacks [5 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
262- card_set (maneuvre_stacks [6 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
253+ card_set (maneuvre_stacks [0 ]-> card , TWO , HEARTS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
254+ card_set (maneuvre_stacks [1 ]-> card , TWO , HEARTS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
255+ card_set (maneuvre_stacks [2 ]-> card , TWO , HEARTS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
256+ card_set (maneuvre_stacks [3 ]-> card , TWO , HEARTS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
257+ card_set (maneuvre_stacks [4 ]-> card , TWO , DIAMONDS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
258+ card_set (maneuvre_stacks [5 ]-> card , TWO , DIAMONDS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
259+ card_set (maneuvre_stacks [6 ]-> card , TWO , DIAMONDS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
263260 for (int i = 0 ; i < 4 ; i ++ ) {
264261 for (int j = 0 ; j < 7 ; j ++ ) {
265- // TODO: fix error here
266262 assert (valid_move (foundation_stacks [i ], maneuvre_stacks [j ]));
267263 }
268264 }
@@ -342,16 +338,15 @@ void test_valid_move_from_maneuvre_stack_to_foundation_stacks() {
342338 stack_malloc (& maneuvre_stacks [i ]);
343339 stack_init (maneuvre_stacks [i ]);
344340 }
345- card_set (maneuvre_stacks [0 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
346- card_set (maneuvre_stacks [1 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
347- card_set (maneuvre_stacks [2 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
348- card_set (maneuvre_stacks [3 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
349- card_set (maneuvre_stacks [4 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
350- card_set (maneuvre_stacks [5 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
351- card_set (maneuvre_stacks [6 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
341+ card_set (maneuvre_stacks [0 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
342+ card_set (maneuvre_stacks [1 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
343+ card_set (maneuvre_stacks [2 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
344+ card_set (maneuvre_stacks [3 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
345+ card_set (maneuvre_stacks [4 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
346+ card_set (maneuvre_stacks [5 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
347+ card_set (maneuvre_stacks [6 ]-> card , TWO , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
352348 for (int i = 0 ; i < 7 ; i ++ ) {
353349 for (int j = 0 ; j < 4 ; j ++ ) {
354- // TODO: fix error here
355350 assert (valid_move (maneuvre_stacks [i ], foundation_stacks [j ]));
356351 }
357352 }
@@ -371,18 +366,17 @@ void test_valid_move_from_maneuvre_stack_to_maneuvre_stacks() {
371366 stack_init (maneuvre_stacks [i ]);
372367 }
373368 card_set (maneuvre_stacks [0 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_0_BEGIN_X );
374- card_set (maneuvre_stacks [1 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
375- card_set (maneuvre_stacks [2 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
376- card_set (maneuvre_stacks [3 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
377- card_set (maneuvre_stacks [4 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
378- card_set (maneuvre_stacks [5 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
379- card_set (maneuvre_stacks [6 ]-> card , ACE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
369+ card_set (maneuvre_stacks [1 ]-> card , TWO , HEARTS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_1_BEGIN_X );
370+ card_set (maneuvre_stacks [2 ]-> card , THREE , CLUBS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_2_BEGIN_X );
371+ card_set (maneuvre_stacks [3 ]-> card , FOUR , DIAMONDS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_3_BEGIN_X );
372+ card_set (maneuvre_stacks [4 ]-> card , FIVE , SPADES , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_4_BEGIN_X );
373+ card_set (maneuvre_stacks [5 ]-> card , SIX , DIAMONDS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_5_BEGIN_X );
374+ card_set (maneuvre_stacks [6 ]-> card , SEVEN , CLUBS , EXPOSED , MANEUVRE_BEGIN_Y , MANEUVRE_6_BEGIN_X );
380375 for (int i = 0 ; i < 7 ; i ++ ) {
381376 for (int j = 0 ; j < 7 ; j ++ ) {
382- if (i = = j ) {
377+ if (i + 1 ! = j ) {
383378 assert (!valid_move (maneuvre_stacks [i ], maneuvre_stacks [j ]));
384379 } else {
385- // TODO: fix error here
386380 assert (valid_move (maneuvre_stacks [i ], maneuvre_stacks [j ]));
387381 }
388382 }
@@ -412,6 +406,8 @@ void test_move_card_from_stack_empty_stack_to_stack_empty_stack() {
412406 assert (destination == new_destination );
413407 assert (stacks_equal (destination , destination_duplicate ));
414408
409+ stack_free (origin_duplicate );
410+ stack_free (destination_duplicate );
415411 stack_free (origin );
416412 stack_free (destination );
417413}
@@ -442,6 +438,8 @@ void test_move_card_from_stack_empty_stack_to_non_stack_empty_stack() {
442438 assert (destination == new_destination );
443439 assert (stacks_equal (destination , destination_duplicate ));
444440
441+ stack_free (origin_duplicate );
442+ stack_free (destination_duplicate );
445443 stack_free (origin );
446444 stack_free (destination );
447445}
0 commit comments