You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
1.4 KiB
87 lines
1.4 KiB
#ifdef TEST
|
|
|
|
#include <float.h>
|
|
#include "unity.h"
|
|
#include "../src/currentCustomerAccountBalance.c"
|
|
|
|
void setUp(void)
|
|
{
|
|
}
|
|
|
|
void tearDown(void)
|
|
{
|
|
}
|
|
|
|
void test_fetchBalanceFromBalanceString(void) {
|
|
|
|
/* Arrange */
|
|
|
|
char balanceString[5][100] = {
|
|
"balance=0",
|
|
"balance=100",
|
|
"balance=200",
|
|
"balance=300",
|
|
"balance=400"
|
|
};
|
|
|
|
/* Act */
|
|
|
|
float balance = 0;
|
|
float result[5];
|
|
float expected[5];
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
result[i] = fetchBalanceFromBalanceString(balanceString[i]);
|
|
}
|
|
|
|
/* Assert */
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
expected[i] = balance;
|
|
balance += 100;
|
|
}
|
|
|
|
for (int i =0; i < 5; i++) {
|
|
TEST_ASSERT_EQUAL_FLOAT(expected[i],result[i]);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
void test_checkFileOpen(void) {
|
|
|
|
/* Act and assert */
|
|
|
|
FILE *file = fopen(CUSTOMER_DATA_FILE, "r");
|
|
|
|
TEST_ASSERT_TRUE(file);
|
|
|
|
fclose(file);
|
|
}
|
|
|
|
void test_failOpenFile(void) {
|
|
|
|
/* Act and assert */
|
|
|
|
FILE *file = fopen("false_file_name", "r");
|
|
|
|
TEST_ASSERT_FALSE(file);
|
|
|
|
}
|
|
|
|
void test_getAvailableAccountBalance(void) {
|
|
|
|
/* Act and assert */
|
|
|
|
int user_id = 1234; // Random user_id (because idea is to read the file and get a float value)
|
|
float max = FLT_MAX;
|
|
int result = getAvailableAccountBalance(user_id);
|
|
|
|
TEST_ASSERT_TRUE(result < max); // Pass if function is successfully called and a float value (balance) is returned
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif // TEST
|