Simplify AtomicFieldUpdater tests.

Change-Id: Ia0d37dfe311a8607bffff8614adb7d19406e095f
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java
index 986052c..ad6d308 100644
--- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterCompareAndSetTest.java
@@ -3,18 +3,16 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.optimize.atomicfieldupdater;
 
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.CodeMatchers;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
@@ -62,34 +60,12 @@
         .allowDiagnosticInfoMessages()
         .addKeepMainRule(testClass)
         .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate)
-        .compile()
-        .inspectDiagnosticMessages(
+        .compileWithExpectedDiagnostics(
             diagnostics -> {
-              assertEquals(3, diagnostics.getInfos().size());
-              Diagnostic diagnostic = diagnostics.getInfos().get(0);
-              List<String> diagnosticLines =
-                  StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can instrument': " + message,
-                    message.contains("Can instrument"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(1);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(2);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can remove': " + message, message.contains("Can remove"));
-              }
-              assertEquals(1, diagnosticLines.size());
+              diagnostics.assertInfosMatch(
+                  diagnosticMessage(containsString("Can instrument")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can remove")));
             })
         .inspect(
             inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java
index 3d8509b..c6acb99 100644
--- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetAndSetTest.java
@@ -3,20 +3,18 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.optimize.atomicfieldupdater;
 
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.synthesis.SyntheticItemsTestUtils;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeMatchers;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
@@ -65,34 +63,12 @@
         .allowDiagnosticInfoMessages()
         .addKeepMainRule(testClass)
         .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate)
-        .compile()
-        .inspectDiagnosticMessages(
+        .compileWithExpectedDiagnostics(
             diagnostics -> {
-              assertEquals(3, diagnostics.getInfos().size());
-              Diagnostic diagnostic = diagnostics.getInfos().get(0);
-              List<String> diagnosticLines =
-                  StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can instrument': " + message,
-                    message.contains("Can instrument"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(1);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(2);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can remove': " + message, message.contains("Can remove"));
-              }
-              assertEquals(1, diagnosticLines.size());
+              diagnostics.assertInfosMatch(
+                  diagnosticMessage(containsString("Can instrument")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can remove")));
             })
         .inspect(
             inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java
index 07c8853..2b6fb92 100644
--- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterGetTest.java
@@ -3,18 +3,16 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.optimize.atomicfieldupdater;
 
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.CodeMatchers;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
@@ -62,34 +60,12 @@
         .allowDiagnosticInfoMessages()
         .addKeepMainRule(testClass)
         .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate)
-        .compile()
-        .inspectDiagnosticMessages(
+        .compileWithExpectedDiagnostics(
             diagnostics -> {
-              assertEquals(3, diagnostics.getInfos().size());
-              Diagnostic diagnostic = diagnostics.getInfos().get(0);
-              List<String> diagnosticLines =
-                  StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can instrument': " + message,
-                    message.contains("Can instrument"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(1);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(2);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can remove': " + message, message.contains("Can remove"));
-              }
-              assertEquals(1, diagnosticLines.size());
+              diagnostics.assertInfosMatch(
+                  diagnosticMessage(containsString("Can instrument")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can remove")));
             })
         .inspect(
             inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java
index c3d6358..098a305 100644
--- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterNullHolderTest.java
@@ -3,18 +3,16 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.optimize.atomicfieldupdater;
 
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.CodeMatchers;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
@@ -62,34 +60,12 @@
         .allowDiagnosticInfoMessages()
         .addKeepMainRule(testClass)
         .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate)
-        .compile()
-        .inspectDiagnosticMessages(
+        .compileWithExpectedDiagnostics(
             diagnostics -> {
-              assertEquals(3, diagnostics.getInfos().size());
-              Diagnostic diagnostic = diagnostics.getInfos().get(0);
-              List<String> diagnosticLines =
-                  StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can instrument': " + message,
-                    message.contains("Can instrument"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(1);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(2);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can remove': " + message, message.contains("Can remove"));
-              }
-              assertEquals(1, diagnosticLines.size());
+              diagnostics.assertInfosMatch(
+                  diagnosticMessage(containsString("Can instrument")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can remove")));
             })
         .inspect(
             inspector -> {
diff --git a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java
index ba52959..33eae1f 100644
--- a/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/atomicfieldupdater/AtomicFieldUpdaterSetTest.java
@@ -3,18 +3,16 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.optimize.atomicfieldupdater;
 
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.CodeMatchers;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
@@ -62,42 +60,13 @@
         .allowDiagnosticInfoMessages()
         .addKeepMainRule(testClass)
         .applyIf(dontObfuscate, TestShrinkerBuilder::addDontObfuscate)
-        .compile()
-        .inspectDiagnosticMessages(
+        .compileWithExpectedDiagnostics(
             diagnostics -> {
-              assertEquals(4, diagnostics.getInfos().size());
-              Diagnostic diagnostic = diagnostics.getInfos().get(0);
-              List<String> diagnosticLines =
-                  StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can instrument': " + message,
-                    message.contains("Can instrument"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(1);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(2);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can optimize': " + message,
-                    message.contains("Can optimize"));
-              }
-              assertEquals(1, diagnosticLines.size());
-              diagnostic = diagnostics.getInfos().get(3);
-              diagnosticLines = StringUtils.splitLines(diagnostic.getDiagnosticMessage());
-              for (String message : diagnosticLines) {
-                assertTrue(
-                    "Does not contain 'Can remove': " + message, message.contains("Can remove"));
-              }
-              assertEquals(1, diagnosticLines.size());
+              diagnostics.assertInfosMatch(
+                  diagnosticMessage(containsString("Can instrument")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can optimize")),
+                  diagnosticMessage(containsString("Can remove")));
             })
         .inspect(
             inspector -> {