CtsNdkBinderTestCases: for comparison operators
Bug: 175018841
Test: atest CtsNdkBinderTestCases
Change-Id: I7e5878619b976ec091f913b2f8a6f55b18fa9ab8
Merged-In: I7e5878619b976ec091f913b2f8a6f55b18fa9ab8
diff --git a/tests/tests/binder_ndk/libbinder_ndk_test/test_native_aidl_client.cpp b/tests/tests/binder_ndk/libbinder_ndk_test/test_native_aidl_client.cpp
index e346e2b..31ee648 100644
--- a/tests/tests/binder_ndk/libbinder_ndk_test/test_native_aidl_client.cpp
+++ b/tests/tests/binder_ndk/libbinder_ndk_test/test_native_aidl_client.cpp
@@ -455,6 +455,27 @@
EXPECT_EQ("say what?", *res);
}
+TEST_P(NdkBinderTest_Aidl, ParcelableOrder) {
+ RegularPolygon p1 = {"A", 1, 1.0f};
+
+ // tests on self
+ EXPECT_EQ(p1, p1);
+ EXPECT_LE(p1, p1);
+ EXPECT_GE(p1, p1);
+ EXPECT_FALSE(p1 < p1);
+ EXPECT_FALSE(p1 > p1);
+
+ RegularPolygon p2 = {"A", 2, 1.0f};
+ RegularPolygon p3 = {"B", 1, 1.0f};
+ for (const auto& bigger : {p2, p3}) {
+ EXPECT_FALSE(p1 == bigger);
+ EXPECT_LE(p1, bigger);
+ EXPECT_GE(bigger, p1);
+ EXPECT_LT(p1, bigger);
+ EXPECT_GT(bigger, p1);
+ }
+}
+
TEST_P(NdkBinderTest_Aidl, ParcelableDefaults) {
RegularPolygon polygon;
@@ -530,28 +551,6 @@
EXPECT_EQ(15, retF);
}
-namespace aidl {
-namespace test_package {
-bool operator==(const SimpleUnion& lhs, const SimpleUnion& rhs) {
- if (lhs.getTag() != rhs.getTag()) return false;
- switch (lhs.getTag()) {
- case SimpleUnion::a:
- return lhs.get<SimpleUnion::a>() == rhs.get<SimpleUnion::a>();
- case SimpleUnion::b:
- return lhs.get<SimpleUnion::b>() == rhs.get<SimpleUnion::b>();
- case SimpleUnion::c:
- return lhs.get<SimpleUnion::c>() == rhs.get<SimpleUnion::c>();
- case SimpleUnion::d:
- return lhs.get<SimpleUnion::d>() == rhs.get<SimpleUnion::d>();
- case SimpleUnion::e:
- return lhs.get<SimpleUnion::e>() == rhs.get<SimpleUnion::e>();
- case SimpleUnion::f:
- return lhs.get<SimpleUnion::f>() == rhs.get<SimpleUnion::f>();
- }
-}
-} // namespace test_package
-} // namespace aidl
-
TEST_P(NdkBinderTest_Aidl, RepeatFoo) {
Foo foo;
foo.a = "NEW FOO";
@@ -606,22 +605,6 @@
using RepeatMethod = ScopedAStatus (ITest::*)(const std::vector<T>&,
std::vector<T>*, std::vector<T>*);
-namespace aidl {
-namespace test_package {
-inline bool operator==(const RegularPolygon& lhs, const RegularPolygon& rhs) {
- return lhs.name == rhs.name && lhs.numSides == rhs.numSides && lhs.sideLength == rhs.sideLength;
-}
-inline bool operator==(const std::vector<RegularPolygon>& lhs,
- const std::vector<RegularPolygon>& rhs) {
- if (lhs.size() != rhs.size()) return false;
- for (size_t i = 0; i < lhs.size(); i++) {
- if (!(lhs[i] == rhs[i])) return false;
- }
- return true;
-}
-} // namespace test_package
-} // namespace aidl
-
template <typename T>
void testRepeat(const std::shared_ptr<ITest>& i, RepeatMethod<T> repeatMethod,
std::vector<std::vector<T>> tests) {