From 7f2549213dbf026d86c6d975c2bcfa6b08ca56f2 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Mon, 15 Jan 2018 17:42:30 +0700 Subject: [PATCH] LongRangeKnownMethods: LocalDateTime test replaced with Integer/Long tests LocalDateTime is not mocked in mockJDKs. Mocking it in source code results does not allow to use external annotations (see f8ad50f3). Instead Integer.bitCount and Long.numberOfLeadingZeroes are tested which are also annotated externally. --- .../dataFlow/fixture/LongRangeKnownMethods.java | 12 +++++++----- .../codeInspection/DataFlowRangeAnalysisTest.java | 7 ------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/LongRangeKnownMethods.java b/java/java-tests/testData/inspection/dataFlow/fixture/LongRangeKnownMethods.java index 278935eaefc0..c2eaf7e04a1d 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/LongRangeKnownMethods.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/LongRangeKnownMethods.java @@ -1,4 +1,3 @@ -import java.time.LocalDateTime; import java.util.*; public class LongRangeKnownMethods { @@ -11,10 +10,13 @@ public class LongRangeKnownMethods { } } - void testLocalDateTime(LocalDateTime ldt) { - if(ldt.getHour() == 24) System.out.println(1); - if(ldt.getMinute() >= 0) System.out.println(2); - if(ldt.getSecond() >= 60) System.out.println(3); + void testExternalAnnotations(int i, long l) { + if(Integer.bitCount(i) == -1) { + System.out.println("Impossible"); + } + if(Long.numberOfLeadingZeroes(l) <= 64) { + System.out.println("Always"); + } } private static int twiceIndexOf(String text, int start, int end) { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowRangeAnalysisTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowRangeAnalysisTest.java index 6a0ae36b4e86..35f73304d368 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowRangeAnalysisTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowRangeAnalysisTest.java @@ -57,13 +57,6 @@ public class DataFlowRangeAnalysisTest extends DataFlowInspectionTestCase { } public void testLongRangeKnownMethods() { - myFixture.addClass("package java.time;\n" + - "\n" + - "public interface LocalDateTime {\n" + - " int getHour();\n" + - " int getMinute();\n" + - " int getSecond();\n" + - "}"); doTest(); }