Skip to content

Commit 448a001

Browse files
committed
Add xtd::string_comparer unit tests
1 parent ed18179 commit 448a001

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

src/xtd.core/include/xtd/string_comparer.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#pragma once
55
#include "collections/generic/icomparer.hpp"
66
#include "collections/generic/iequality_comparer.hpp"
7+
#include "argument_exception.hpp"
78
#include "string_comparison.hpp"
89
#include "string.hpp"
910

tests/xtd.core.unit_tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ add_sources(
245245
src/xtd/tests/signal_tests.cpp
246246
src/xtd/tests/software_termination_exception_tests.cpp
247247
src/xtd/tests/standard_name.hpp
248+
src/xtd/tests/string_comparer_tests.cpp
248249
src/xtd/tests/string_comparison_tests.cpp
249250
src/xtd/tests/string_split_options_tests.cpp
250251
src/xtd/tests/system_exception_tests.cpp
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include <xtd/string_comparer>
2+
#include <xtd/tunit/assert>
3+
#include <xtd/tunit/test_class_attribute>
4+
#include <xtd/tunit/test_method_attribute>
5+
6+
using namespace xtd;
7+
using namespace xtd::tunit;
8+
9+
namespace xtd::tests {
10+
class test_class_(string_comparer_tests) {
11+
void test_method_(string_comparer_ordinal_compare_with_strings) {
12+
assert::is_zero(string_comparer::ordinal().compare(string {""}, string {""}));
13+
assert::is_zero(string_comparer::ordinal().compare(string {"abc"}, string {"abc"}));
14+
assert::is_positive(string_comparer::ordinal().compare(string {"abc"}, string {"ABC"}));
15+
assert::is_negative(string_comparer::ordinal().compare(string {"ABC"}, string {"abc"}));
16+
assert::is_positive(string_comparer::ordinal().compare(string {"bca"}, string {"abc"}));
17+
assert::is_negative(string_comparer::ordinal().compare(string {"abc"}, string {"bca"}));
18+
}
19+
20+
void test_method_(string_comparer_ordinal_ignore_case_compare_with_strings) {
21+
assert::is_zero(string_comparer::ordinal_ignore_case().compare(string {""}, string {""}));
22+
assert::is_zero(string_comparer::ordinal_ignore_case().compare(string {"abc"}, string {"abc"}));
23+
assert::is_zero(string_comparer::ordinal_ignore_case().compare(string {"abc"}, string {"ABC"}));
24+
assert::is_zero(string_comparer::ordinal_ignore_case().compare(string {"ABC"}, string {"abc"}));
25+
assert::is_positive(string_comparer::ordinal_ignore_case().compare(string {"bca"}, string {"abc"}));
26+
assert::is_negative(string_comparer::ordinal_ignore_case().compare(string {"abc"}, string {"bca"}));
27+
}
28+
};
29+
}

0 commit comments

Comments
 (0)