Add a test merging classes with default method in interfaces

Bug: b/229951607
Change-Id: I25531eca78ae3841d14214104a1a248ced6f8777
diff --git a/src/test/java/com/android/tools/r8/classmerging/horizontal/interfaces/CollisionWithDefaultMethodsTest.java b/src/test/java/com/android/tools/r8/classmerging/horizontal/interfaces/CollisionWithDefaultMethodsTest.java
index 55f5b52..c4313e1 100644
--- a/src/test/java/com/android/tools/r8/classmerging/horizontal/interfaces/CollisionWithDefaultMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/classmerging/horizontal/interfaces/CollisionWithDefaultMethodsTest.java
@@ -4,6 +4,8 @@
 
 package com.android.tools.r8.classmerging.horizontal.interfaces;
 
+import static org.junit.Assert.assertEquals;
+
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.utils.StringUtils;
@@ -25,7 +27,8 @@
         getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build());
   }
 
-  private static final String EXPECTED_OUTPUT = StringUtils.lines("Event1", "Event2");
+  private static final String EXPECTED_OUTPUT =
+      StringUtils.lines("Event1", "Event2", "Event1!", "Event2!", "Event1#", "Event2#");
 
   @Test
   public void testDesugaring() throws Exception {
@@ -44,10 +47,11 @@
         .addKeepRules("-keep class ** { *; }")
         .addHorizontallyMergedClassesInspector(
             inspector -> {
-              if (parameters.isCfRuntime()
-                  || (parameters.isDexRuntime()
-                      && parameters.canUseDefaultAndStaticInterfaceMethods())) {
+              if (parameters.isCfRuntime()) {
                 inspector.assertNoClassesMerged();
+              } else if (parameters.isDexRuntime()
+                  && parameters.canUseDefaultAndStaticInterfaceMethods()) {
+                assertEquals(2, inspector.getMergeGroups().size());
               }
             })
         .run(parameters.getRuntime(), TestClass.class)
@@ -100,6 +104,11 @@
     public static void main(String[] args) throws Exception {
       eventOnListener1(System.out::println);
       eventOnListener2(System.out::println);
+      // This will create two merge groups with default methods in the implemented interfaces.
+      eventOnListener1(e -> System.out.println(e.toString() + "!"));
+      eventOnListener2(e -> System.out.println(e.toString() + "!"));
+      eventOnListener1(e -> System.out.println(e.toString() + "#"));
+      eventOnListener2(e -> System.out.println(e.toString() + "#"));
     }
   }
 }