120 lines
2.2 KiB
C++
120 lines
2.2 KiB
C++
#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";
|
|
removeStart(a, "");
|
|
ASSERT(a == "abcdefg", "");
|
|
|
|
removeStart(a, "b");
|
|
ASSERT(a == "abcdefg", "");
|
|
|
|
removeStart(a, "a");
|
|
ASSERT(a == "bcdefg", "");
|
|
|
|
removeStart(a, "bcd");
|
|
ASSERT(a == "efg", "");
|
|
|
|
removeEnd(a, "xyz");
|
|
ASSERT(a == "efg", "");
|
|
|
|
removeEnd(a, "");
|
|
ASSERT(a == "efg", "");
|
|
|
|
removeEnd(a, "fg");
|
|
ASSERT(a == "e", "");
|
|
|
|
removeEnd(a, "e");
|
|
ASSERT(a == "", "");
|
|
|
|
return TESTGOOD;
|
|
} |