diff --git a/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/PreferAssertj.java b/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/PreferAssertj.java index 74e4a6283..b6713e0b9 100644 --- a/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/PreferAssertj.java +++ b/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/PreferAssertj.java @@ -465,9 +465,13 @@ private Description withAssertThat( String actualArgumentString = argSource(tree, state, actualIndex); ExpressionTree actualArgument = tree.getArguments().get(actualIndex); if (isIterableMap(actualArgument, state)) { - actualArgumentString = String.format("(%s) %s", - SuggestedFixes.qualifyType(state, fix, "java.util.Map"), - actualArgumentString); + String qualifiedMap = SuggestedFixes.prettyType( + state, + fix, + state.getTypes().asSuper( + ASTHelpers.getType(actualArgument), + state.getSymbolFromString("java.util.Map"))); + actualArgumentString = String.format("(%s) %s", qualifiedMap, actualArgumentString); } assertThat.accept(qualified + '(' + actualArgumentString + ')', fix); return buildDescription(tree) diff --git a/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/PreferAssertjTests.java b/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/PreferAssertjTests.java index 35aeabeb3..5d8d07a3c 100644 --- a/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/PreferAssertjTests.java +++ b/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/PreferAssertjTests.java @@ -946,11 +946,11 @@ public void fix_assert_iterableMap() { "class Test {", " interface IMap extends Map, Iterable> {}", " void foo(IMap expected, IMap actual) {", - " assertThat((Map) actual).isEqualTo(expected);", - " assertThat((Map) actual).isEqualTo(expected);", - " assertThat((Map) actual).describedAs(\"desc\").isEqualTo(expected);", - " assertThat((Map) actual).isNull();", - " assertThat((Map) actual).describedAs(\"desc\").isNull();", + " assertThat((Map) actual).isEqualTo(expected);", + " assertThat((Map) actual).isEqualTo(expected);", + " assertThat((Map) actual).describedAs(\"desc\").isEqualTo(expected);", + " assertThat((Map) actual).isNull();", + " assertThat((Map) actual).describedAs(\"desc\").isNull();", " }", "}") .doTest(BugCheckerRefactoringTestHelper.TestMode.TEXT_MATCH); diff --git a/changelog/@unreleased/pr-1071.v2.yml b/changelog/@unreleased/pr-1071.v2.yml new file mode 100644 index 000000000..2786e2ea8 --- /dev/null +++ b/changelog/@unreleased/pr-1071.v2.yml @@ -0,0 +1,5 @@ +type: improvement +improvement: + description: PreferAssertj iterable-map fix retains map type parameters + links: + - https://github.com/palantir/gradle-baseline/pull/1071