DO NOT MERGE: Fixed broken aapt2 tests

Some tests starting failing when
b435101ec8aa827375e837c4843f6444145e1f4c was merged. It seems on qt-dev
aapt2_host_unit_tests does not run while it does on master.

Bug: 131762014
Bug: 129146717
Test: aapt2_tests
Change-Id: I701b275989c908acb78190be0930785712cb5686
diff --git a/tools/aapt2/ResourceValues_test.cpp b/tools/aapt2/ResourceValues_test.cpp
index c4a1108..dbf5114 100644
--- a/tools/aapt2/ResourceValues_test.cpp
+++ b/tools/aapt2/ResourceValues_test.cpp
@@ -284,8 +284,58 @@
 
   EXPECT_FALSE(attr_three.IsCompatibleWith(attr_one));
   EXPECT_FALSE(attr_three.IsCompatibleWith(attr_two));
-  EXPECT_FALSE(attr_three.IsCompatibleWith(attr_three));
+  EXPECT_TRUE(attr_three.IsCompatibleWith(attr_three));
   EXPECT_FALSE(attr_three.IsCompatibleWith(attr_four));
+
+  EXPECT_FALSE(attr_four.IsCompatibleWith(attr_one));
+  EXPECT_FALSE(attr_four.IsCompatibleWith(attr_two));
+  EXPECT_FALSE(attr_four.IsCompatibleWith(attr_three));
+  EXPECT_TRUE(attr_four.IsCompatibleWith(attr_four));
+}
+
+TEST(ResourcesValuesTest, AttributeEnumIsCompatible) {
+  Attribute attr_one(TYPE_ENUM);
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
+
+  Attribute attr_two(TYPE_ENUM);
+  attr_two.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_two.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
+  EXPECT_TRUE(attr_one.IsCompatibleWith(attr_two));
+}
+
+TEST(ResourcesValuesTest, DifferentAttributeEnumDifferentNameIsNotCompatible) {
+  Attribute attr_one(TYPE_ENUM);
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
+
+  Attribute attr_two(TYPE_ENUM);
+  attr_two.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/baz")), 0x07u});
+  EXPECT_FALSE(attr_one.IsCompatibleWith(attr_two));
+}
+
+TEST(ResourcesValuesTest, DifferentAttributeEnumDifferentValueIsNotCompatible) {
+  Attribute attr_one(TYPE_ENUM);
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_one.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
+
+  Attribute attr_two(TYPE_ENUM);
+  attr_two.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
+  attr_two.symbols.push_back(
+      Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x09u});
+  EXPECT_FALSE(attr_one.IsCompatibleWith(attr_two));
 }
 
 } // namespace aapt
diff --git a/tools/aapt2/link/TableMerger_test.cpp b/tools/aapt2/link/TableMerger_test.cpp
index be9c84b..78d42a1 100644
--- a/tools/aapt2/link/TableMerger_test.cpp
+++ b/tools/aapt2/link/TableMerger_test.cpp
@@ -408,54 +408,6 @@
   ASSERT_FALSE(merger.Merge({}, overlay.get(), true /*overlay*/));
 }
 
-TEST_F(TableMergerTest, FailToOverrideConflictingFlagsAndEnumsWithOverlay) {
-  std::unique_ptr<ResourceTable> base =
-      test::ResourceTableBuilder()
-          .SetPackageId("", 0x7f)
-          .AddValue("attr/foo", test::AttributeBuilder()
-              .SetTypeMask(android::ResTable_map::TYPE_FLAGS)
-              .Build())
-          .Build();
-
-  std::unique_ptr<ResourceTable> overlay =
-      test::ResourceTableBuilder()
-          .SetPackageId("", 0x7f)
-          .AddValue("attr/foo", test::AttributeBuilder()
-              .SetTypeMask(android::ResTable_map::TYPE_FLAGS)
-              .SetWeak(false)
-              .Build())
-          .Build();
-
-  ResourceTable final_table;
-  TableMergerOptions options;
-  options.auto_add_overlay = false;
-  TableMerger merger(context_.get(), &final_table, options);
-
-  ASSERT_TRUE(merger.Merge({}, base.get(), false /*overlay*/));
-  ASSERT_FALSE(merger.Merge({}, overlay.get(), true /*overlay*/));
-
-  base = test::ResourceTableBuilder()
-      .SetPackageId("", 0x7f)
-      .AddValue("attr/foo", test::AttributeBuilder()
-          .SetTypeMask(android::ResTable_map::TYPE_ENUM)
-          .Build())
-        .Build();
-
-  overlay = test::ResourceTableBuilder()
-      .SetPackageId("", 0x7f)
-      .AddValue("attr/foo", test::AttributeBuilder()
-          .SetTypeMask(android::ResTable_map::TYPE_ENUM)
-          .SetWeak(false)
-          .Build())
-      .Build();
-
-  ResourceTable final_table2;
-  TableMerger merger2(context_.get(), &final_table2, options);
-
-  ASSERT_TRUE(merger2.Merge({}, base.get(), false /*overlay*/));
-  ASSERT_FALSE(merger2.Merge({}, overlay.get(), true /*overlay*/));
-}
-
 TEST_F(TableMergerTest, FailToMergeNewResourceWithoutAutoAddOverlay) {
   std::unique_ptr<ResourceTable> table_a =
       test::ResourceTableBuilder().SetPackageId("", 0x7f).Build();