#ifdef TEST #include "unity.h" #include "inputHandling.h" char halloWelt[]="Hallo Welt"; char halloWelt2[]="Hallo Welt"; char halloWelt3[]="Ha llo W el t "; char halloWelt4[]="Ha\n\nllo \r W el\r\r t "; calc_op formula = {0}; void setUp(void) { formula.functionsType = opNotSupported; } void tearDown(void) { } void test_inputHandling_deleteOneWhiteSpace(void) { deleteWhitespace(halloWelt, 10); TEST_ASSERT_EQUAL_STRING("HalloWelt", halloWelt); } void test_inputHandling_deleteTwoWhiteSpaces(void) { deleteWhitespace(halloWelt2, 11); TEST_ASSERT_EQUAL_STRING("HalloWelt", halloWelt2); } void test_inputHandling_deleteManyWhiteSpaces(void) { deleteWhitespace(halloWelt3, 16); TEST_ASSERT_EQUAL_STRING("HalloWelt", halloWelt3); } void test_inputHandling_deleteAllOtherCharacter(void) { deleteWhitespace(halloWelt4, 19); TEST_ASSERT_EQUAL_STRING("HalloWelt", halloWelt4); } void test_inputHandling_findAddFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator("4+5", 3); TEST_ASSERT_TRUE(opAdd == type); } void test_inputHandling_findSubFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator("4-5", 3); TEST_ASSERT_TRUE(opSub == type); } void test_inputHandling_findMultiFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator("4*5", 3); TEST_ASSERT_TRUE(opMult == type); } void test_inputHandling_findDivFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator("4/5", 3); TEST_ASSERT_TRUE(opDiv == type); type = opNotSupported; type = detectFunctionOperator("4:5", 3); TEST_ASSERT_TRUE(opDiv == type); } void test_inputHandling_findExpFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator("4^5", 3); TEST_ASSERT_TRUE(opExp == type); } void test_inputHandling_findEmptyFunctionType(void) { op type = opNotSupported; type = detectFunctionOperator(halloWelt, 10); TEST_ASSERT_TRUE(opEmpty == type); } void test_inputHandling_getNumbersNoFormular(void) { char* pnt = NULL; pnt = getNumbers(halloWelt, 10, &formula); TEST_ASSERT_NULL(pnt); } void test_inputHandling_getNumbersAddFormular(void) { char* pnt = NULL; char add[] = "4+5"; formula.functionsType = detectFunctionOperator(add,3); TEST_ASSERT_TRUE(formula.functionsType == opAdd); pnt = getNumbers(add, 3, &formula); showStruct(&formula); TEST_ASSERT_NULL(pnt); TEST_ASSERT_EQUAL_DOUBLE(4.0, formula.inputNumbers[0]); TEST_ASSERT_EQUAL_DOUBLE(5.0, formula.inputNumbers[1]); TEST_ASSERT_EQUAL_INT(2, formula.arrayLength); } void test_inputHandling_getNumbersSubFormular(void) { char* pnt = NULL; char sub[] = "4-5"; formula.functionsType = detectFunctionOperator(sub,3); TEST_ASSERT_TRUE(formula.functionsType == opSub); pnt = getNumbers(sub, 3, &formula); showStruct(&formula); TEST_ASSERT_NULL(pnt); TEST_ASSERT_EQUAL_DOUBLE(4.0, formula.inputNumbers[0]); TEST_ASSERT_EQUAL_DOUBLE(5.0, formula.inputNumbers[1]); TEST_ASSERT_EQUAL_INT(2, formula.arrayLength); } void test_inputHandling_getNumbersMultiFormular(void) { char* pnt = NULL; char multi[] = "4*5"; formula.functionsType = detectFunctionOperator(multi,3); TEST_ASSERT_TRUE(formula.functionsType == opMult); pnt = getNumbers(multi, 3, &formula); showStruct(&formula); TEST_ASSERT_NULL(pnt); TEST_ASSERT_EQUAL_DOUBLE(4.0, formula.inputNumbers[0]); TEST_ASSERT_EQUAL_DOUBLE(5.0, formula.inputNumbers[1]); TEST_ASSERT_EQUAL_INT(2, formula.arrayLength); } void test_inputHandling_getNumbersDivFormular(void) { char* pnt = NULL; char div[] = "4/5"; formula.functionsType = detectFunctionOperator(div,3); TEST_ASSERT_TRUE(formula.functionsType == opDiv); pnt = getNumbers(div, 3, &formula); showStruct(&formula); TEST_ASSERT_NULL(pnt); TEST_ASSERT_EQUAL_DOUBLE(4.0, formula.inputNumbers[0]); TEST_ASSERT_EQUAL_DOUBLE(5.0, formula.inputNumbers[1]); TEST_ASSERT_EQUAL_INT(2, formula.arrayLength); } void test_inputHandling_getNextCalc(void) { calc_op* pnt = NULL; char add[] = "4+5"; processInput(add, 3); pnt = getNextCalc(); TEST_ASSERT_NOT_NULL(pnt); TEST_ASSERT_TRUE(pnt->functionsType == opAdd); pnt = getNextCalc(); TEST_ASSERT_NOT_NULL(pnt); TEST_ASSERT_TRUE(pnt->functionsType == opResult); pnt = getNextCalc(); TEST_ASSERT_NULL(pnt); } #endif // TEST