Hide some public API in VendorManifest and CompatibilityMatrix.

Also changes:
* class -> struct for some classes
* LibVintfTest -> ::android::vintf::LibVintfTest
* VendorManifest::getSupportedVersions uses the new getHal method.

Bug: 34620633
Test: libvintf_test
Change-Id: Icf797676ea5c943b64ac6cf7f6f369e662996de2
diff --git a/test/main.cpp b/test/main.cpp
index 9f39d87..9781576 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -24,25 +24,44 @@
 #include <android-base/logging.h>
 #include <gtest/gtest.h>
 
-using namespace android::vintf;
+namespace android {
+namespace vintf {
 
-class LibVintfTest : public ::testing::Test {
+struct LibVintfTest : public ::testing::Test {
 public:
     virtual void SetUp() override {
     }
     virtual void TearDown() override {
     }
+    bool add(CompatibilityMatrix &cm, MatrixHal &&hal) {
+        return cm.add(std::move(hal));
+    }
+    bool add(CompatibilityMatrix &cm, MatrixKernel &&kernel) {
+        return cm.add(std::move(kernel));
+    }
+    bool add(VendorManifest &vm, ManifestHal &&hal) {
+        return vm.add(std::move(hal));
+    }
+    const ManifestHal *getHal(VendorManifest &vm, const std::string &name) {
+        return vm.getHal(name);
+    }
+    ConstMapValueIterable<std::string, ManifestHal> getHals(VendorManifest &vm) {
+        return vm.getHals();
+    }
+    bool isEqual(const CompatibilityMatrix &cm1, const CompatibilityMatrix &cm2) {
+        return cm1.hals == cm2.hals && cm1.kernels == cm2.kernels;
+    }
+    VendorManifest testVendorManifest() {
+        VendorManifest vm;
+        vm.add(ManifestHal::hal("android.hardware.camera", ImplLevel::SOC, "msm8892",
+                Version(2,0), Transport::HWBINDER));
+        vm.add(ManifestHal::hal("android.hardware.nfc", ImplLevel::GENERIC, "generic",
+                Version(1,0), Transport::PASSTHROUGH));
+
+        return vm;
+    }
 };
 
-static VendorManifest testVendorManifest() {
-    VendorManifest vm;
-    vm.add(ManifestHal::hal("android.hardware.camera", ImplLevel::SOC, "msm8892",
-            Version(2,0), Transport::HWBINDER));
-    vm.add(ManifestHal::hal("android.hardware.nfc", ImplLevel::GENERIC, "generic",
-            Version(1,0), Transport::PASSTHROUGH));
-
-    return vm;
-}
 
 TEST_F(LibVintfTest, Stringify) {
     VendorManifest vm = testVendorManifest();
@@ -116,16 +135,16 @@
 
 TEST_F(LibVintfTest, CompatibilityMatrixCoverter) {
     CompatibilityMatrix cm;
-    cm.add(MatrixHal{HalFormat::NATIVE, "android.hardware.camera",
+    EXPECT_TRUE(add(cm, MatrixHal{HalFormat::NATIVE, "android.hardware.camera",
             {{VersionRange(1,2,3), VersionRange(4,5,6)}},
-            false /* optional */});
-    cm.add(MatrixHal{HalFormat::NATIVE, "android.hardware.nfc",
+            false /* optional */}));
+    EXPECT_TRUE(add(cm, MatrixHal{HalFormat::NATIVE, "android.hardware.nfc",
             {{VersionRange(4,5,6), VersionRange(10,11,12)}},
-            true /* optional */});
-    cm.add(MatrixKernel{Version(3, 18),
-            {{{"CONFIG_FOO"}, {"CONFIG_BAR"}}}});
-    cm.add(MatrixKernel{Version(4, 4),
-            {{{"CONFIG_BAZ"}, {"CONFIG_BAR"}}}});
+            true /* optional */}));
+    EXPECT_TRUE(add(cm, MatrixKernel{Version(3, 18),
+            {{{"CONFIG_FOO"}, {"CONFIG_BAR"}}}}));
+    EXPECT_TRUE(add(cm, MatrixKernel{Version(4, 4),
+            {{{"CONFIG_BAZ"}, {"CONFIG_BAR"}}}}));
     std::string xml = gCompatibilityMatrixConverter(cm);
     EXPECT_EQ(xml,
         "<compatibility-matrix version=\"1.0\">\n"
@@ -151,8 +170,7 @@
         "</compatibility-matrix>\n");
     CompatibilityMatrix cm2;
     EXPECT_TRUE(gCompatibilityMatrixConverter(&cm2, xml));
-    EXPECT_EQ(cm.hals, cm2.hals);
-    EXPECT_EQ(cm.kernels, cm2.kernels);
+    EXPECT_TRUE(isEqual(cm, cm2));
 }
 
 TEST_F(LibVintfTest, IsValid) {
@@ -166,22 +184,25 @@
             {{Version(2,0), Version(2,1)}}, Transport::PASSTHROUGH);
     EXPECT_FALSE(invalidHal.isValid());
     VendorManifest vm2;
-    vm2.add(std::move(invalidHal));
+    add(vm2, std::move(invalidHal));
     EXPECT_FALSE(vm2.isValid());
 }
 
 TEST_F(LibVintfTest, VendorManifestGetHal) {
     VendorManifest vm = testVendorManifest();
-    EXPECT_NE(vm.getHal("android.hardware.camera"), nullptr);
-    EXPECT_EQ(vm.getHal("non-existent"), nullptr);
+    EXPECT_NE(getHal(vm, "android.hardware.camera"), nullptr);
+    EXPECT_EQ(getHal(vm, "non-existent"), nullptr);
 
     std::vector<std::string> arr{"android.hardware.camera", "android.hardware.nfc"};
     size_t i = 0;
-    for (const auto &hal : vm.getHals()) {
+    for (const auto &hal : getHals(vm)) {
         EXPECT_EQ(hal.name, arr[i++]);
     }
 }
 
+} // namespace vintf
+} // namespace android
+
 int main(int argc, char **argv) {
     ::testing::InitGoogleTest(&argc, argv);
     return RUN_ALL_TESTS();