Dawn/test/poker2/card.c
2021-10-01 00:50:27 -07:00

103 lines
3.4 KiB
C

/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include <unity.h>
#include <poker/card.h>
void setUp(void) {
}
void tearDown(void) {
}
void test_cardGetSuit_should_ReturnCardsSuit(void) {
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_CLUBS, cardGetSuit(CARD_CLUBS_ACE));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_CLUBS, cardGetSuit(CARD_CLUBS_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_CLUBS, cardGetSuit(CARD_CLUBS_KING));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_HEARTS, cardGetSuit(CARD_HEARTS_QUEEN));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_HEARTS, cardGetSuit(CARD_HEARTS_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_HEARTS, cardGetSuit(CARD_HEARTS_SEVEN));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_SPADES, cardGetSuit(CARD_SPADES_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_SPADES, cardGetSuit(CARD_SPADES_ACE));
TEST_ASSERT_EQUAL_UINT8(CARD_SUIT_DIAMONDS, cardGetSuit(CARD_DIAMONDS_ACE));
}
void test_cardGetNumber_should_ReturnCardsNumber(void) {
TEST_ASSERT_EQUAL_UINT8(CARD_ACE, cardGetNumber(CARD_CLUBS_ACE));
TEST_ASSERT_EQUAL_UINT8(CARD_TWO, cardGetNumber(CARD_CLUBS_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_KING, cardGetNumber(CARD_CLUBS_KING));
TEST_ASSERT_EQUAL_UINT8(CARD_QUEEN, cardGetNumber(CARD_HEARTS_QUEEN));
TEST_ASSERT_EQUAL_UINT8(CARD_TWO, cardGetNumber(CARD_HEARTS_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_SEVEN, cardGetNumber(CARD_HEARTS_SEVEN));
TEST_ASSERT_EQUAL_UINT8(CARD_TWO, cardGetNumber(CARD_SPADES_TWO));
TEST_ASSERT_EQUAL_UINT8(CARD_ACE, cardGetNumber(CARD_SPADES_ACE));
TEST_ASSERT_EQUAL_UINT8(CARD_ACE, cardGetNumber(CARD_DIAMONDS_ACE));
}
void test_cardGet_should_ReturnTheCard(void) {
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_ACE, cardGet(CARD_ACE, CARD_SUIT_CLUBS));
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_TWO, cardGet(CARD_TWO, CARD_SUIT_CLUBS));
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_KING, cardGet(CARD_KING, CARD_SUIT_CLUBS));
TEST_ASSERT_EQUAL_UINT8(
CARD_HEARTS_QUEEN, cardGet(CARD_QUEEN, CARD_SUIT_HEARTS)
);
TEST_ASSERT_EQUAL_UINT8(
CARD_HEARTS_TWO, cardGet(CARD_TWO, CARD_SUIT_HEARTS)
);
TEST_ASSERT_EQUAL_UINT8(
CARD_HEARTS_SEVEN, cardGet(CARD_SEVEN, CARD_SUIT_HEARTS)
);
TEST_ASSERT_EQUAL_UINT8(CARD_SPADES_TWO, cardGet(CARD_TWO, CARD_SUIT_SPADES));
TEST_ASSERT_EQUAL_UINT8(CARD_SPADES_ACE, cardGet(CARD_ACE, CARD_SUIT_SPADES));
TEST_ASSERT_EQUAL_UINT8(
CARD_DIAMONDS_ACE, cardGet(CARD_ACE, CARD_SUIT_DIAMONDS)
);
}
void test_cardWriteDeck_should_WriteCardsToArray(void) {
card_t cards[CARD_DECK_SIZE];
cardWriteDeck(cards);
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_TWO, cards[0]);
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_THREE, cards[1]);
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_FOUR, cards[2]);
TEST_ASSERT_EQUAL_UINT8(CARD_CLUBS_ACE, cards[12]);
TEST_ASSERT_EQUAL_UINT8(CARD_DIAMONDS_NINE, cards[20]);
TEST_ASSERT_EQUAL_UINT8(CARD_HEARTS_ACE, cards[38]);
TEST_ASSERT_EQUAL_UINT8(CARD_SPADES_ACE, cards[51]);
}
void test_cardWriteDeck_should_ReturnCardsWritten(void) {
card_t cards[CARD_DECK_SIZE];
TEST_ASSERT_EQUAL_UINT8(CARD_DECK_SIZE, cardWriteDeck(cards));
}
int main() {
UNITY_BEGIN();
RUN_TEST(test_cardGetSuit_should_ReturnCardsSuit);
RUN_TEST(test_cardGetNumber_should_ReturnCardsNumber);
RUN_TEST(test_cardGet_should_ReturnTheCard);
RUN_TEST(test_cardWriteDeck_should_WriteCardsToArray);
RUN_TEST(test_cardWriteDeck_should_ReturnCardsWritten);
return UNITY_END();
}