1+ #include < xtd/not_implemented_exception>
12#include < xtd/string_comparer>
23#include < xtd/time_span>
34#include < xtd/tunit/assert>
@@ -9,6 +10,34 @@ using namespace xtd::tunit;
910
1011namespace xtd ::tests {
1112 class test_class_ (string_comparer_tests) {
13+ void test_method_ (string_comparer_current_culture) {
14+ assert ::throws<not_implemented_exception>([]{string_comparer::current_culture ();});
15+ // assert::are_not_same(string_comparer::current_culture(), string_comparer::current_culture());
16+ }
17+
18+ void test_method_ (string_comparer_current_culture_ignore_case) {
19+ assert ::throws<not_implemented_exception>([]{string_comparer::current_culture_ignore_case ();});
20+ // assert::are_not_same(string_comparer::current_culture_ignore_case(), string_comparer::current_culture_ignore_case());
21+ }
22+
23+ void test_method_ (invariant_culture) {
24+ assert ::throws<not_implemented_exception>([]{string_comparer::invariant_culture ();});
25+ // assert::are_not_same(string_comparer::invariant_culture(), string_comparer::invariant_culture());
26+ }
27+
28+ void test_method_ (invariant_culture_ignore_case) {
29+ assert ::throws<not_implemented_exception>([]{string_comparer::invariant_culture_ignore_case ();});
30+ // assert::are_not_same(string_comparer::invariant_culture_ignore_case(), string_comparer::invariant_culture_ignore_case());
31+ }
32+
33+ void test_method_ (ordinal) {
34+ assert::are_same (string_comparer::ordinal (), string_comparer::ordinal ());
35+ }
36+
37+ void test_method_ (ordinal_ignore_case) {
38+ assert::are_same (string_comparer::ordinal_ignore_case (), string_comparer::ordinal_ignore_case ());
39+ }
40+
1241 void test_method_ (string_comparer_ordinal_compare_with_strings) {
1342 assert::is_zero (string_comparer::ordinal ().compare (string {" " }, string {" " }));
1443 auto s = string {" abc" };
@@ -228,5 +257,11 @@ namespace xtd::tests {
228257 assert::are_not_equal (string {" bca" }.get_hash_code (), string_comparer::ordinal_ignore_case ().get_hash_code (string {" abc" }));
229258 assert::are_not_equal (string {" abc" }.get_hash_code (), string_comparer::ordinal_ignore_case ().get_hash_code (string {" bca" }));
230259 }
260+
261+ void test_method_ (from_comparison) {
262+ assert::are_equal (string_comparer::ordinal (), string_comparer::from_comparison (string_comparison::ordinal));
263+ assert::are_equal (string_comparer::ordinal_ignore_case (), string_comparer::from_comparison (string_comparison::ordinal_ignore_case));
264+ assert ::throws<argument_exception>([]{string_comparer::from_comparison (static_cast <string_comparison>(42 ));});
265+ }
231266 };
232267}
0 commit comments