tty-solitaire/test/card_test.c

79 lines
1.4 KiB
C
Raw Normal View History

2011-02-07 01:31:55 +00:00
#include <assert.h>
2011-05-08 02:09:39 +00:00
#include "test_helper.h"
2011-02-07 01:31:55 +00:00
#include "../lib/card.h"
2011-02-12 18:28:58 +00:00
void test_initialize_card() {
struct card *card;
allocate_card(&card);
initialize_card(card);
assert(card->value == NO_VALUE);
assert(card->suit == NO_SUIT);
assert(card->face == NO_FACE);
2011-02-14 02:10:47 +00:00
free_card(card);
2011-02-12 18:28:58 +00:00
}
2011-05-01 06:06:43 +00:00
void test_duplicate_card() {
struct card *card_0, *card_1;
2011-05-09 03:38:31 +00:00
const int begin_y = 5, begin_x = 10;
2011-05-01 06:06:43 +00:00
allocate_card(&card_0);
2011-05-09 03:38:31 +00:00
set_card(card_0, ACE, SPADES, EXPOSED, begin_y, begin_x);
2011-05-01 06:06:43 +00:00
card_1 = duplicate_card(card_0);
assert(card_0 != card_1);
assert(cards_equal(card_0, card_1));
}
2011-02-12 18:28:58 +00:00
void test_set_card() {
struct card *card;
2011-05-09 03:38:31 +00:00
int begin_y = 5;
int begin_x = 10;
2011-02-12 18:28:58 +00:00
allocate_card(&card);
initialize_card(card);
2011-05-09 03:38:31 +00:00
set_card(card, ACE, SPADES, EXPOSED, begin_y, begin_x);
2011-02-12 18:28:58 +00:00
assert(card->value == ACE);
assert(card->suit == SPADES);
assert(card->face == EXPOSED);
2011-05-09 03:38:31 +00:00
assert(card->frame->begin_y == begin_y);
assert(card->frame->begin_x == begin_x);
2011-02-12 18:28:58 +00:00
2011-02-14 02:10:47 +00:00
free_card(card);
2011-02-12 18:28:58 +00:00
}
void test_expose_card() {
struct card *card;
allocate_card(&card);
initialize_card(card);
expose_card(card);
assert(card->face == EXPOSED);
2011-02-14 02:10:47 +00:00
free_card(card);
2011-02-12 18:28:58 +00:00
}
void test_cover_card() {
struct card *card;
allocate_card(&card);
initialize_card(card);
cover_card(card);
assert(card->face == COVERED);
2011-02-14 02:10:47 +00:00
free_card(card);
2011-02-12 18:28:58 +00:00
}
2011-02-07 01:31:55 +00:00
void test_card() {
2011-02-12 18:28:58 +00:00
test_initialize_card();
2011-05-01 06:06:43 +00:00
test_duplicate_card();
2011-02-12 18:28:58 +00:00
test_set_card();
test_expose_card();
test_cover_card();
2011-02-07 01:31:55 +00:00
}