#include "util.h" #include "test.h" using namespace mrbesen::Util; int testUtil_Count() { std::string test1 = "ababababa"; std::string a; ASSERT(count(test1, 'a') == 5, ""); ASSERT(count(test1, 'b') == 4, ""); ASSERT(count("", 'a') == 0, ""); ASSERT(count("abcdef", 'g') == 0, ""); return TESTGOOD; } int testUtil_equalsIgnoreCase() { std::string a = "abcdefg"; std::string b = "AbCdEHI"; std::string c = "AbCdEHIJ"; ASSERT(!equalsIgnoreCase(a, b), ""); ASSERT(!equalsIgnoreCase(a, b, 10000), ""); ASSERT(equalsIgnoreCase(a, b, 0), ""); ASSERT(equalsIgnoreCase(a, b, 5), ""); ASSERT(!equalsIgnoreCase(a, b, 6), ""); ASSERT(!equalsIgnoreCase(a, b, 7), ""); ASSERT(!equalsIgnoreCase(a, b, 8), ""); //eins länger als die strings sind ASSERT(!equalsIgnoreCase(a, c, 8), ""); ASSERT(equalsIgnoreCase(a, c, 5), ""); return TESTGOOD; } int testUtil_toLower() { std::string a = "abc"; std::string out; toLower(a, out); ASSERT(out == a, ""); toLower("", out); ASSERT(out == "", ""); toLower("ABC", out); ASSERT(out == a, ""); toLower("123", out); ASSERT(out == "123", ""); toLower("._:DAd-", out); ASSERT(out == "._:dad-", ""); //inplace testen toLower(a, a); ASSERT(a == "abc", ""); a = "ABC"; toLower(a); ASSERT(a == "abc", ""); return TESTGOOD; } int testUtil_start_endWith() { std::string a = "abcdefghijklm"; ASSERT(startsWith(a, ""), ""); ASSERT(startsWith(a, "a"), ""); ASSERT(!startsWith(a, "b"), ""); ASSERT(!startsWith(a, "abcdefghijklmn"), ""); ASSERT(!startsWith(a, "abcdefhhijklm"), ""); ASSERT(startsWith(a, a), ""); ASSERT(endsWith(a, ""), ""); ASSERT(endsWith(a, "m"), ""); ASSERT(!endsWith(a, "n"), ""); ASSERT(!endsWith(a, "abcdefghijklmn"), ""); ASSERT(!endsWith(a, "abcdefhhijklm"), ""); ASSERT(endsWith(a, a), ""); return TESTGOOD; } int testUtil_removeStart_End() { std::string a = "abcdefg"; ASSERT(!removeStart(a, ""), ""); ASSERT(a == "abcdefg", ""); ASSERT(!removeStart(a, "b"), ""); ASSERT(a == "abcdefg", ""); ASSERT(removeStart(a, "a"), ""); ASSERT(a == "bcdefg", ""); ASSERT(removeStart(a, "bcd"), ""); ASSERT(a == "efg", ""); ASSERT(!removeEnd(a, "xyz"), ""); ASSERT(a == "efg", ""); ASSERT(!removeEnd(a, ""), ""); ASSERT(a == "efg", ""); ASSERT(removeEnd(a, "fg"), ""); ASSERT(a == "e", ""); ASSERT(removeEnd(a, "e"), ""); ASSERT(a == "", ""); return TESTGOOD; } int testUtil_insertStart_End() { std::string a = ""; ASSERT(!insertStart(a, ""), ""); ASSERT(a == "", a); ASSERT(insertStart(a, "abc"), ""); ASSERT(a == "abc", a); ASSERT(!insertStart(a, "a"), ""); ASSERT(a == "abc", a); ASSERT(insertStart(a, "bc"), ""); ASSERT(a == "bcabc", a); ASSERT(!insertStart(a, ""), ""); ASSERT(a == "bcabc", a); ASSERT(!insertEnd(a, ""), ""); ASSERT(a == "bcabc", a); ASSERT(!insertEnd(a, "bc"), ""); ASSERT(a == "bcabc", a); ASSERT(insertEnd(a, "def"), ""); ASSERT(a == "bcabcdef", a); return TESTGOOD; } int testUtil_trim() { std::string a = " abc def "; trim(a); ASSERT(a == "abc def", a); trim(a, '_'); ASSERT(a == "abc def", a); trim(a, 'f'); ASSERT(a == "abc de", a); a = " "; trim(a); ASSERT(a == "", a); trim(a); ASSERT(a == "", a); return TESTGOOD; }