From fbef169556246319641ad6ff0bcce362aef3c8e8 Mon Sep 17 00:00:00 2001 From: Stephan Schroevers Date: Sat, 28 Apr 2018 19:40:01 +0200 Subject: [PATCH] FAILED experiment I sense that we can do better, but it won't be trivial. --- .../bugpatterns/PrimitiveComparisonTest.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/PrimitiveComparisonTest.java b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/PrimitiveComparisonTest.java index cace3d7a..3749b3e8 100644 --- a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/PrimitiveComparisonTest.java +++ b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/PrimitiveComparisonTest.java @@ -792,4 +792,39 @@ final class PrimitiveComparisonTest { "}") .doTest(TestMode.TEXT_MATCH); } + + // XXX: This still fails: all replacements start at the same place... + @Test + void testReplacementOfMultipleSubexpressions() { + refactoringTestHelper + .addInputLines( + "in/A.java", + "import java.util.Comparator;", + "", + "interface A extends Comparable {", + " Comparator cmp = Comparator.comparing(o -> o)", + " .thenComparingInt(o -> Byte.valueOf((byte) 0))", + " .thenComparingInt(o -> Character.valueOf((char) 0))", + " .thenComparingInt(o -> Short.valueOf((short) 0))", + " .thenComparingInt(o -> Integer.valueOf(0))", + " .thenComparingLong(o -> Long.valueOf(0))", + " .thenComparingDouble(o -> Float.valueOf(0))", + " .thenComparingDouble(o -> Double.valueOf(0));", + "}") + .addOutputLines( + "out/A.java", + "import java.util.Comparator;", + "", + "interface A extends Comparable {", + " Comparator cmp = Comparator.comparing(o -> o) ", + " .thenComparing(o -> Byte.valueOf((byte) 0))", + " .thenComparing(o -> Character.valueOf((char) 0))", + " .thenComparing(o -> Short.valueOf((short) 0))", + " .thenComparing(o -> Integer.valueOf(0))", + " .thenComparing(o -> Long.valueOf(0))", + " .thenComparing(o -> Float.valueOf(0))", + " .thenComparing(o -> Double.valueOf(0));", + "}") + .doTest(TestMode.TEXT_MATCH); + } }