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);