Added unit tests for the card object.

This commit is contained in:
Murilo Pereira 2011-02-12 16:28:58 -02:00
parent e2f50b183a
commit 9821a5265a

View File

@ -2,8 +2,74 @@
#include <stdbool.h> #include <stdbool.h>
#include "../lib/card.h" #include "../lib/card.h"
void test_card() { void test_initialize_card() {
assert(true); struct card *card;
allocate_card(&card);
initialize_card(card);
assert(card->value == NO_VALUE);
assert(card->suit == NO_SUIT);
assert(card->face == NO_FACE);
delete_card(card);
return;
}
void test_set_card() {
struct card *card;
int start_y = 5;
int start_x = 10;
allocate_card(&card);
initialize_card(card);
set_card(card, ACE, SPADES, EXPOSED, start_y, start_x);
assert(card->value == ACE);
assert(card->suit == SPADES);
assert(card->face == EXPOSED);
assert(card->frame->start_y == start_y);
assert(card->frame->start_x == start_x);
delete_card(card);
return;
}
void test_expose_card() {
struct card *card;
allocate_card(&card);
initialize_card(card);
expose_card(card);
assert(card->face == EXPOSED);
delete_card(card);
return;
}
void test_cover_card() {
struct card *card;
allocate_card(&card);
initialize_card(card);
cover_card(card);
assert(card->face == COVERED);
delete_card(card);
return;
}
void test_card() {
test_initialize_card();
test_set_card();
test_expose_card();
test_cover_card();
return; return;
} }