void test_stringIsEqualCaseInsensitive_should_equal(void) { int toCompare; Text *text = textNew("ChiCkenNuGGer"); String *str = stringNew(text); Text *text1 = textNew("chickennugger"); String *str1 = stringNew(text1); toCompare = stringIsEqualCaseInsensitive(str,str1); TEST_ASSERT_EQUAL(1,toCompare); }
void test_stringIsEqualCaseInsensitive_should_not_equal(void) { int toCompare; Text *text = textNew("burger"); String *str = stringNew(text); Text *text1 = textNew("king"); String *str1 = stringNew(text1); toCompare = stringIsEqualCaseInsensitive(str,str1); TEST_ASSERT_EQUAL(0,toCompare); }
void test_stringIsEqualCaseInsensitive_should_equal_with_different_start(void) { int toCompare; Text *text = textNew("ChiCkenNuGGer"); String *str = stringNew(text); Text *text1 = textNew("hahachickennugger"); String *str1 = stringNew(text1); str1->start+=4; str1->length-=4; toCompare = stringIsEqualCaseInsensitive(str,str1); TEST_ASSERT_EQUAL(1,toCompare); }
/** * To extract the argument of access or banked * * Input: * String the whole argument * * Return the value of access/banked * Throw if value is invalid */ int extractAccessBanked(String *arguments){ char location; char *returnChar; int returnInt; String *string; String *banked = stringNew(textNew("BANKED")); //1 String *access = stringNew(textNew("ACCESS")); //0 if(stringCharAt(arguments,0) == ',') stringRemoveChar(arguments); if(stringLength(arguments) == 0 ||stringCharAt(arguments,0) == ';') Throw(ERR_NO_ARGUMENT); stringTrimLeft(arguments); if(stringLength(arguments) == 0 ||stringCharAt(arguments,0) == ';') Throw(ERR_EMPTY_ARGUMENT); string = stringRemoveWordNotContaining(arguments,",;"); stringTrim(string); if(stringLength(string) == 0){ if(stringCharAt(arguments,0) == ',') stringRemoveChar(arguments); Throw(ERR_EMPTY_ARGUMENT); } else if(stringLength(string) == 6){ if(stringIsEqual(string,banked)) returnInt = 1; else if(stringIsEqual(string,access)) returnInt = 0; else{ returnChar = stringSubstringInChar(string,0,string->length); returnInt = evaluate(returnChar); } } else{ returnChar = stringSubstringInChar(string,0,string->length); returnInt = evaluate(returnChar); } if(stringCharAt(arguments,0) == ',') stringRemoveChar(arguments); free(string); return returnInt; }
void test_stringIsEqual_should_return_not_equal(void) { int toCompare; Text *text = textNew("aBc"); String *str = stringNew(text); Text *text1 = textNew("aabc"); String *str1 = stringNew(text1); str1->start++; str1->length--; toCompare = stringIsEqual(str,str1); TEST_ASSERT_EQUAL(0,toCompare); }
void test_extra_to_solve_problem_3() { Text *name1 = textNew("pineApPle"); Text *name2 = textNew("aPPlE"); String *string1 = stringNew(name1); string1->start = 4; string1->length = 5; String *string2 = stringNew(name2); TEST_ASSERT_EQUAL(1,stringIsEqualCaseInsensitive(string1,string2)); TEST_ASSERT_EQUAL(1,stringIsEqualCaseInsensitive(string2,string1)); stringDel(string1); stringDel(string2); //unable to test assert, will cause bad memory access }
void test_stringTrim_should_trim_both_sides3(void) { Text *text = textNew(" \t\t BeedFack \t\t "); String *str = stringNew(text); stringTrim(str); TEST_ASSERT_EQUAL(4,str->start); TEST_ASSERT_EQUAL(8,str->length); }
void test_stringTrim_should_trim_both_sides2(void) { Text *text = textNew(" GaLger \t\t "); String *str = stringNew(text); stringTrim(str); TEST_ASSERT_EQUAL(2,str->start); TEST_ASSERT_EQUAL(6,str->length); }
void test_stringTrim_should_trim_both_sides(void) { Text *text = textNew(" \t \t \t VeaLer "); String *str = stringNew(text); stringTrim(str); TEST_ASSERT_EQUAL(9,str->start); TEST_ASSERT_EQUAL(6,str->length); }
void test_stringTrimRight2(void) { Text *text = textNew(" DeeFer\t"); String *str = stringNew(text); stringTrimRight(str); TEST_ASSERT_EQUAL(0,str->start); TEST_ASSERT_EQUAL(9,str->length); }
void test_stringTrimRight(void) { Text *text = textNew(" LuJian "); String *str = stringNew(text); stringTrimRight(str); TEST_ASSERT_EQUAL(0,str->start); TEST_ASSERT_EQUAL(10,str->length); }
void test_evaluatePrefixesAndNumber_evaluate_opening_opening_opening_bracket_10(void){ Token *token; Stack *numberStack=createStack(); Stack *operatorStack=createStack(); Text *newText=textNew("(((8"); String *tokenizer = stringNew(newText); //( token=getToken(tokenizer); evaluatePrefixesAndNumber("(((8",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("(",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(OPENING_BRACKET_OP,((Operator*)token)->info->id); //( token=getToken(tokenizer); evaluatePrefixesAndNumber("(((8",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("(",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(OPENING_BRACKET_OP,((Operator*)token)->info->id); //( token=getToken(tokenizer); evaluatePrefixesAndNumber("(((8",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("(",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(OPENING_BRACKET_OP,((Operator*)token)->info->id); //8 token=getToken(tokenizer); evaluatePrefixesAndNumber("(((8",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL(8,((Number*)token)->value); }
void test_stringCharAt_should_return_negative_1_over_string_length(void) { Text *text = textNew("TanSooFatt"); String *string = stringNew(text); TEST_ASSERT_EQUAL(-1,stringCharAt(string,15)); }
void test_evaluatePrefixesAndNumber_evaluate_should_push_negative_plus_negative_into_operatorStack_and_9_into_number_stack(void){ Token *token; Stack *numberStack=createStack(); Stack *operatorStack=createStack(); Text *newText=textNew("-+-9"); String *tokenizer = stringNew(newText); //- token=getToken(tokenizer); evaluatePrefixesAndNumber("-+-9",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("-",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(MINUS_OP,((Operator*)token)->info->id); //+ token=getToken(tokenizer); evaluatePrefixesAndNumber("-+-9",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("+",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(PLUS_OP,((Operator*)token)->info->id); //- token=getToken(tokenizer); evaluatePrefixesAndNumber("-+-9",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL_STRING("-",((Operator*)token)->info->symbol); TEST_ASSERT_EQUAL(MINUS_OP,((Operator*)token)->info->id); //9 token=getToken(tokenizer); evaluatePrefixesAndNumber("-+-9",token,numberStack,operatorStack); TEST_ASSERT_NOT_NULL(token); TEST_ASSERT_EQUAL(9,((Number*)token)->value); }
void test_stringCharAt_should_return_negative_1_negative_input(void) { Text *text = textNew("ChiewWingGum"); String *string = stringNew(text); TEST_ASSERT_EQUAL(-1,stringCharAt(string,-1)); }
void test_stringTrimLeft(void) { Text *text = textNew("SaJon "); String *str = stringNew(text); stringTrimLeft(str); TEST_ASSERT_EQUAL(0,str->start); TEST_ASSERT_EQUAL(6,str->length); }
void test_stringCharAt_should_return_index(void) { Text *text = textNew("Poon Jiyeon"); String *string = stringNew(text); TEST_ASSERT_EQUAL(' ',stringCharAt(string,4)); }
Text *stringSubstringInText(String *str, int relativePosition, int length){ char *charStr = stringSubstringInChar(str, relativePosition, length); Text *text = textNew(charStr); free(charStr); return text; }
void test_stringSkip_should_skip(void) { Text *text = textNew("SelNon"); String *str = stringNew(text); stringSkip(str,2); TEST_ASSERT_EQUAL(2,str->start); TEST_ASSERT_EQUAL(4,str->length); }
void test_stringToInteger_should_get_1234(void) { Text *text = textNew("1234"); String *string = stringNew(text); TEST_ASSERT_EQUAL(1234,stringToInteger(string)); }
void test_stringIsCharAtInSet_should_return_1_contain_in_set(void) { Text *text = textNew("StoneSir"); String *string = stringNew(text); TEST_ASSERT_EQUAL(1,stringIsCharAtInSet(string,2,"abcdefghijklmno")); }
void test_stringLength_should_get_6(void) { int toCompareLength; Text *text = textNew("abcdefg"); String *str = stringNew(text); toCompareLength = stringLength(str); TEST_ASSERT_EQUAL(7,toCompareLength); }
void test_stringAssign_should_increase_reference(void) { Text *text = textNew("JaNib"); String *str = stringNew(text); String *str1 = stringAssign(str); String *str2 = stringAssign(str); TEST_ASSERT_EQUAL(3,str->reference); TEST_ASSERT_EQUAL(2,str->text->reference); }
void test_stringSkip_should_overload_and_stop_at_Null(void) { Text *text = textNew("SelNonDan"); String *str = stringNew(text); str->start++; //1 stringSkip(str,100); TEST_ASSERT_EQUAL(9,str->start); TEST_ASSERT_EQUAL(0,str->length); }
void test_stringLength_should_get_16(void) { int toCompareLength; Text *text = textNew(" \t \t \t 16 length"); String *str = stringNew(text); toCompareLength = stringLength(str); TEST_ASSERT_EQUAL(16,toCompareLength); }
void test_stringSubstringInChar_should_crop_out_Stone(void) { int toCompare; Text *text = textNew("StoneSir123"); String *string = stringNew(text); char *testing = stringSubstringInChar(string,0,5); toCompare = strcmp(testing,"Stone"); TEST_ASSERT_EQUAL(0,toCompare); }
void test_stringToInteger_should_get_5555(void) { Text *text = textNew("dsfggggv5555FDG"); String *string = stringNew(text); string->start = 8; string->length = 8; TEST_ASSERT_EQUAL(5555,stringToInteger(string)); }
void test_stringToInteger_should_get_23(void) { Text *text = textNew("1234"); String *string = stringNew(text); string->start++; string->length-=2; TEST_ASSERT_EQUAL(23,stringToInteger(string)); }
void test_stringSubstringInChar_should_crop_out_1(void) { int toCompare; Text *text = textNew("abc123"); String *string = stringNew(text); char *testing = stringSubstringInChar(string,3,1); toCompare = strcmp(testing,"1"); TEST_ASSERT_EQUAL(0,toCompare); }
void test_stringSubstringInText_return_Text_abcd(void) { Text *text = textNew("123abcd123"); String *string = stringNew(text); Text *testing = stringSubstringInText(string,3,4); TEST_ASSERT_EQUAL(1,testing->reference); TEST_ASSERT_EQUAL(0,strcmp(testing->string,"abcd")); }