Migrate Correspondence subclasses to instead call Correspondence.from.

This makes the code shorter, and the subclassing approach is deprecated.

Open-source note: Correspondence.from was added to Truth 0.43. (So was Correspondence.transforming, which I'm using occasionally instead.) Correspondence.formattingDiffsUsing was added in Truth 0.44.

PiperOrigin-RevId: 249909347
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 7c921b0..8111e15 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -2139,18 +2139,11 @@
         (AnalysisFailureInfo) target.get(AnalysisFailureInfo.SKYLARK_CONSTRUCTOR.getKey());
 
     Correspondence<AnalysisFailure, AnalysisFailure> correspondence =
-        new Correspondence<AnalysisFailure, AnalysisFailure>() {
-          @Override
-          public boolean compare(AnalysisFailure actual, AnalysisFailure expected) {
-            return actual.getLabel().equals(expected.getLabel())
-                && actual.getMessage().contains(expected.getMessage());
-          }
-
-          @Override
-          public String toString() {
-            return "is equivalent to";
-          }
-        };
+        Correspondence.from(
+            (actual, expected) ->
+                actual.getLabel().equals(expected.getLabel())
+                    && actual.getMessage().contains(expected.getMessage()),
+            "is equivalent to");
 
     AnalysisFailure expectedOne =
         new AnalysisFailure(
diff --git a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
index 0890e19..d223f20 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
@@ -488,19 +488,6 @@
         .inOrder();
   }
 
-  private static class ReferenceEqualityCorrespondence extends Correspondence<Object, Object> {
-
-    @Override
-    public boolean compare(Object obj1, Object obj2) {
-      return obj1 == obj2;
-    }
-
-    @Override
-    public String toString() {
-      return "is the same object as";
-    }
-  }
-
   @Test
   public void optionsDefinitionsAreSharedBetweenOptionsBases() throws Exception {
     Class<FieldNamesDifferOptions> class1 = FieldNamesDifferOptions.class;
@@ -523,7 +510,8 @@
     data.getAllOptionDefinitions()
         .forEach(entry -> optionDefinitionsFromData.add(entry.getValue()));
 
-    ReferenceEqualityCorrespondence referenceEquality = new ReferenceEqualityCorrespondence();
+    Correspondence<Object, Object> referenceEquality =
+        Correspondence.from((obj1, obj2) -> obj1 == obj2, "is the same object as");
     assertThat(optionDefinitionsFromData)
         .comparingElementsUsing(referenceEquality)
         .containsAllIn(optionDefinitions);