Of course
This commit is contained in:
parent
d6cffc16e4
commit
8edc8dab71
13 changed files with 951 additions and 951 deletions
|
|
@ -1,89 +1,89 @@
|
|||
/*----------------------------------------------------------
|
||||
* HTBLA-Leonding
|
||||
* ---------------------------------------------------------
|
||||
* Author: S. Schraml
|
||||
* ----------------------------------------------------------
|
||||
* Description:
|
||||
* Test functions for Roman Number.
|
||||
* ----------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "test_roman_number.h"
|
||||
#include "roman_number.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "shortcut.h"
|
||||
|
||||
char* number_strs[] = {"MDCCCCLXXXIIII", "CMXLIXIV", "V", "", "CXI", "CCLIX"};
|
||||
int number_vals[] = {1984, 953, 5, 0, 111, 259};
|
||||
int number_cnt = sizeof(number_vals) / sizeof(number_vals[0]);
|
||||
|
||||
struct Tuple {
|
||||
int x;
|
||||
int y;
|
||||
int exp_res;
|
||||
};
|
||||
|
||||
static struct Tuple gdc_values[] = {
|
||||
{111, 259, 37},
|
||||
{ 12, 9, 3},
|
||||
{ 23, 92, 23},
|
||||
{527, 899, 31},
|
||||
{ 42, 42, 42},
|
||||
{ 83, 97, 1},
|
||||
};
|
||||
static int gdc_value_cnt = sizeof(gdc_values) / sizeof(gdc_values[0]);
|
||||
|
||||
TEST(test_create_with_valid_number) {
|
||||
for(int i = 0; i < number_cnt; i++) {
|
||||
RomanNumber result = rn_create(number_strs[i]);
|
||||
ASSERT_TRUE(rn_is_valid(result), MSG("Expected that string '%s' is be a valid number", number_strs[i]));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(test_create_with_invalid_number) {
|
||||
char* number = "MCDR";
|
||||
RomanNumber result = rn_create(number);
|
||||
ASSERT_TRUE(!rn_is_valid(result), MSG("Expected that string '%s' is not be a valid number", number));
|
||||
}
|
||||
|
||||
TEST(test_create_with_null_string) {
|
||||
RomanNumber result = rn_create(0);
|
||||
ASSERT_TRUE(!rn_is_valid(result), MSG("Expected that NULL (%d) string is not a valid number", 0));
|
||||
}
|
||||
|
||||
TEST(test_get_valid_value) {
|
||||
for(int i = 0; i < number_cnt; i++) {
|
||||
RomanNumber result = rn_create(number_strs[i]);
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value == number_vals[i], MSG("Expected that string '%s' is converted to %d but retrieved %d", number_strs[i], number_vals[i], value));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(test_get_value_from_invalid_number) {
|
||||
char* number = "MCDR";
|
||||
RomanNumber result = rn_create(number);
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value < 0, MSG("Expected that value of string '%s' is less than 0, but got %d", number, value));
|
||||
}
|
||||
|
||||
TEST(test_calc_roman_gcd) {
|
||||
int exp_res = 37;
|
||||
RomanNumber x = rn_create(number_strs[4]);
|
||||
RomanNumber y = rn_create(number_strs[5]);
|
||||
RomanNumber result = rn_gcd(x, y);
|
||||
ASSERT_TRUE(rn_is_valid(result), MSG("Expected that result (%d) of GCD is a valid roman number", exp_res));
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value == exp_res, MSG("Expected that result of GCD for strings '%s' and '%s' is '%d', but got '%d'", number_strs[4], number_strs[5], exp_res, value));
|
||||
}
|
||||
|
||||
TEST(test_int_gdc) {
|
||||
for(int i = 0; i < gdc_value_cnt; i++) {
|
||||
int act_res = int_gcd(gdc_values[i].x, gdc_values[i].y);
|
||||
ASSERT_TRUE(act_res == gdc_values[i].exp_res, MSG("Expected that GDC of %d and %d is %d, but got %d",
|
||||
gdc_values[i].x, gdc_values[i].y, gdc_values[i].exp_res, act_res));
|
||||
}
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------
|
||||
* HTBLA-Leonding
|
||||
* ---------------------------------------------------------
|
||||
* Author: S. Schraml
|
||||
* ----------------------------------------------------------
|
||||
* Description:
|
||||
* Test functions for Roman Number.
|
||||
* ----------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "test_roman_number.h"
|
||||
#include "roman_number.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "shortcut.h"
|
||||
|
||||
char* number_strs[] = {"MDCCCCLXXXIIII", "CMXLIXIV", "V", "", "CXI", "CCLIX"};
|
||||
int number_vals[] = {1984, 953, 5, 0, 111, 259};
|
||||
int number_cnt = sizeof(number_vals) / sizeof(number_vals[0]);
|
||||
|
||||
struct Tuple {
|
||||
int x;
|
||||
int y;
|
||||
int exp_res;
|
||||
};
|
||||
|
||||
static struct Tuple gdc_values[] = {
|
||||
{111, 259, 37},
|
||||
{ 12, 9, 3},
|
||||
{ 23, 92, 23},
|
||||
{527, 899, 31},
|
||||
{ 42, 42, 42},
|
||||
{ 83, 97, 1},
|
||||
};
|
||||
static int gdc_value_cnt = sizeof(gdc_values) / sizeof(gdc_values[0]);
|
||||
|
||||
TEST(test_create_with_valid_number) {
|
||||
for(int i = 0; i < number_cnt; i++) {
|
||||
RomanNumber result = rn_create(number_strs[i]);
|
||||
ASSERT_TRUE(rn_is_valid(result), MSG("Expected that string '%s' is be a valid number", number_strs[i]));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(test_create_with_invalid_number) {
|
||||
char* number = "MCDR";
|
||||
RomanNumber result = rn_create(number);
|
||||
ASSERT_TRUE(!rn_is_valid(result), MSG("Expected that string '%s' is not be a valid number", number));
|
||||
}
|
||||
|
||||
TEST(test_create_with_null_string) {
|
||||
RomanNumber result = rn_create(0);
|
||||
ASSERT_TRUE(!rn_is_valid(result), MSG("Expected that NULL (%d) string is not a valid number", 0));
|
||||
}
|
||||
|
||||
TEST(test_get_valid_value) {
|
||||
for(int i = 0; i < number_cnt; i++) {
|
||||
RomanNumber result = rn_create(number_strs[i]);
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value == number_vals[i], MSG("Expected that string '%s' is converted to %d but retrieved %d", number_strs[i], number_vals[i], value));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(test_get_value_from_invalid_number) {
|
||||
char* number = "MCDR";
|
||||
RomanNumber result = rn_create(number);
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value < 0, MSG("Expected that value of string '%s' is less than 0, but got %d", number, value));
|
||||
}
|
||||
|
||||
TEST(test_calc_roman_gcd) {
|
||||
int exp_res = 37;
|
||||
RomanNumber x = rn_create(number_strs[4]);
|
||||
RomanNumber y = rn_create(number_strs[5]);
|
||||
RomanNumber result = rn_gcd(x, y);
|
||||
ASSERT_TRUE(rn_is_valid(result), MSG("Expected that result (%d) of GCD is a valid roman number", exp_res));
|
||||
int value = rn_get_value(result);
|
||||
ASSERT_TRUE(value == exp_res, MSG("Expected that result of GCD for strings '%s' and '%s' is '%d', but got '%d'", number_strs[4], number_strs[5], exp_res, value));
|
||||
}
|
||||
|
||||
TEST(test_int_gdc) {
|
||||
for(int i = 0; i < gdc_value_cnt; i++) {
|
||||
int act_res = int_gcd(gdc_values[i].x, gdc_values[i].y);
|
||||
ASSERT_TRUE(act_res == gdc_values[i].exp_res, MSG("Expected that GDC of %d and %d is %d, but got %d",
|
||||
gdc_values[i].x, gdc_values[i].y, gdc_values[i].exp_res, act_res));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue