} END_TEST /************** Concatenate multi-digit value to a complex value **************/ START_TEST(concatinate_all_the_digits_of_two_complex_values) { RomanNumber rnFirst = newRomanNumber("MDCCCCLXXXXVIIII"); RomanNumber rnSecond = newRomanNumber("MDCCCCLXXXXVIIII"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("MDCCCCLXXXXVIIIIMDCCCCLXXXXVIIII", to_string(concat)); } END_TEST
} END_TEST /****************** Concatenate two non-standardized numbers ******************/ START_TEST(concatinate_all_the_digits_of_two_nonstandard_values) { RomanNumber rnFirst = newRomanNumber("XVIIII"); RomanNumber rnSecond = newRomanNumber("XVIIII"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("XVIIIIXVIIII", to_string(concat)); } END_TEST
} END_TEST /************* Concatenate single digit to non-standardized value *************/ START_TEST(concatinate_all_the_digits_of_a_single_and_nonstandard_value) { RomanNumber rnFirst = newRomanNumber("I"); RomanNumber rnSecond = newRomanNumber("XVIIII"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("IXVIIII", to_string(concat)); } END_TEST
} END_TEST /***************** Combine a single digit to multiple digits ******************/ START_TEST(concatinate_all_the_digits_of_a_single_and_double_digit_value) { RomanNumber rnFirst = newRomanNumber("I"); RomanNumber rnSecond = newRomanNumber("VI"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("IVI", to_string(concat)); } END_TEST
} END_TEST /********************** Combine two single digit values ***********************/ START_TEST(concatinate_all_the_digits_two_single_digit_values) { RomanNumber rnFirst = newRomanNumber("I"); RomanNumber rnSecond = newRomanNumber("I"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("II", to_string(concat)); } END_TEST
RomanNumber rnAdd(RomanNumber number1, RomanNumber number2) { RomanNumber returnValue; rnRemoveSubtractive(&number1); rnRemoveSubtractive(&number2); returnValue = rnConcatinate(number1, number2); rnSort(&returnValue); rnConsolidate(&returnValue); rnRewriteSubtractive(&returnValue); return returnValue; }
} END_TEST /******************************************************************************* * Concatinate digits of two values into one new one * ******************************************************************************/ /******** Create a function to create one value from the digits of two ********/ START_TEST(concatinate_all_the_digits_of_two_numbers_into_a_new_value) { RomanNumber rnFirst = newRomanNumber("MDC"); RomanNumber rnSecond = newRomanNumber("LXVI"); RomanNumber concat = rnConcatinate(rnFirst, rnSecond); ck_assert_str_eq("MDCLXVI", to_string(concat)); } END_TEST