summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2017-11-14 17:01:27 +0100
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2017-11-14 17:01:27 +0100
commita22636174d8a9ec755694309dc40a71c1e794e41 (patch)
treef9c09511e426071dd14a22b2aa1508240fbdec7d /tests
parentba5483c728d19e782ee838b0deb001fdf41a69ba (diff)
downloadglibmm-a22636174d8a9ec755694309dc40a71c1e794e41.tar.gz
tests/glibmm_variant: Test operator==() and operator!=()
Bug 789330
Diffstat (limited to 'tests')
-rw-r--r--tests/glibmm_variant/main.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/glibmm_variant/main.cc b/tests/glibmm_variant/main.cc
index 0836ec2e..f3d4e268 100644
--- a/tests/glibmm_variant/main.cc
+++ b/tests/glibmm_variant/main.cc
@@ -120,6 +120,38 @@ bool test_object_path()
return result_ok;
}
+bool test_comparison()
+{
+ bool result_ok = true;
+
+ std::vector<int> int_vector1 = { 1, 2, 3, 4, 5, 6, 7, 8 };
+ std::vector<int> int_vector2 = { 1, 2, 3, 4, 5, 6, 7 };
+
+ auto int_variant1 = Glib::Variant<std::vector<int>>::create(int_vector1);
+ auto int_variant2 = Glib::Variant<std::vector<int>>::create(int_vector2);
+ auto int_variant3 = Glib::Variant<std::vector<int>>::create(int_vector1);
+
+ // Equality and inequality operators
+ ostr << "int_variant1 == int_variant2 (0): " << (int_variant1 == int_variant2) << std::endl;
+ result_ok &= !(int_variant1 == int_variant2);
+ ostr << "int_variant1 != int_variant2 (1): " << (int_variant1 != int_variant2) << std::endl;
+ result_ok &= (int_variant1 != int_variant2);
+
+ ostr << "int_variant1 == int_variant3 (1): " << (int_variant1 == int_variant3) << std::endl;
+ result_ok &= (int_variant1 == int_variant3);
+ ostr << "int_variant1 != int_variant3 (0): " << (int_variant1 != int_variant3) << std::endl;
+ result_ok &= !(int_variant1 != int_variant3);
+
+#if 0
+ // Less than (activate if operator<() exists)
+ ostr << "int_variant2 < int_variant1 (1): " << (int_variant2 < int_variant1) << std::endl;
+ result_ok &= (int_variant2 < int_variant1);
+ ostr << "int_variant1 < int_variant3 (0): " << (int_variant1 < int_variant3) << std::endl;
+ result_ok &= !(int_variant1 < int_variant3);
+#endif
+ return result_ok;
+}
+
} // anonymous namespace
int
@@ -276,6 +308,7 @@ main(int, char**)
bool result_ok = test_tuple();
result_ok &= test_object_path();
+ result_ok &= test_comparison();
return result_ok ? EXIT_SUCCESS : EXIT_FAILURE;
}