aboutsummaryrefslogtreecommitdiff
path: root/src/test/resources/com/puppycrawl
diff options
context:
space:
mode:
authorslava ganyaev <slava.ganyaev@gmail.com>2017-04-12 14:34:46 +0300
committerRoman Ivanov <romani@users.noreply.github.com>2017-04-12 11:18:37 -0700
commitfaab1a5bf94a9eed4bdaa330aa10351703e2ad28 (patch)
treeca833ab710f382e4f6117aeb22a3d328dd8586a9 /src/test/resources/com/puppycrawl
parentfc9819cc938d4c3bef83dcac646b620a74ab7b82 (diff)
downloadcheckstyle-faab1a5bf94a9eed4bdaa330aa10351703e2ad28.tar.gz
Issue #4165: Split and Organize Checkstyle inputs by Test for EqualsHashCodeCheckTest
Diffstat (limited to 'src/test/resources/com/puppycrawl')
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCode.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCode.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeEqualsParameter.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsParameter.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeNoEquals.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCodeNoEquals.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeSemantic.java135
4 files changed, 139 insertions, 4 deletions
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCode.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCode.java
index 5edfd767f..308cfbf69 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCode.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCode.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.coding;
+package com.puppycrawl.tools.checkstyle.checks.coding.equalshashcode;
public class InputEqualsHashCode {
public boolean notEquals() {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsParameter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeEqualsParameter.java
index b348a3531..b03796f55 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsParameter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeEqualsParameter.java
@@ -1,6 +1,6 @@
-package com.puppycrawl.tools.checkstyle.checks.coding;
+package com.puppycrawl.tools.checkstyle.checks.coding.equalshashcode;
-public class InputEqualsParameter {
+public class InputEqualsHashCodeEqualsParameter {
public static class TestClass1 { // no violation
public boolean equals(String o) {
return true;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCodeNoEquals.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeNoEquals.java
index fe3e80533..f4022a6dc 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/InputEqualsHashCodeNoEquals.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeNoEquals.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.coding;
+package com.puppycrawl.tools.checkstyle.checks.coding.equalshashcode;
public class InputEqualsHashCodeNoEquals {
public int hashCode() {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeSemantic.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeSemantic.java
new file mode 100644
index 000000000..81789909d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalshashcode/InputEqualsHashCodeSemantic.java
@@ -0,0 +1,135 @@
+////////////////////////////////////////////////////////////////////////////////
+// Test case file for checkstyle.
+// Created: 2001
+////////////////////////////////////////////////////////////////////////////////
+package com.puppycrawl.tools.checkstyle.checks.coding.equalshashcode;
+
+import java.awt.*;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+
+/**
+ * Test case for detecting simple semantic errors.
+ * @author Lars Kühne
+ **/
+class InputEqualsHashCodeSemantic
+{
+ /* Boolean instantiation in a static initializer */
+ static {
+ Boolean x = new Boolean(true);
+ }
+
+ /* Boolean instantiation in a non-static initializer */
+ {
+ Boolean x = new Boolean(true);
+ Boolean[] y = new Boolean[]{Boolean.TRUE, Boolean.FALSE};
+ }
+
+ /** fully qualified Boolean instantiation in a method. **/
+ Boolean getBoolean()
+ {
+ return new Boolean(true);
+ }
+
+ void otherInstantiations()
+ {
+ // instantiation of classes in the same package
+ Object o1 = new InputBraces();
+ Object o2 = new InputModifier();
+ // classes in another package with .* import
+ ByteArrayOutputStream s = new ByteArrayOutputStream();
+ File f = new File("/tmp");
+ // classes in another package with explicit import
+ Dimension dim = new Dimension();
+ Color col = new Color(0, 0, 0);
+ }
+
+ public class EqualsVsHashCode1
+ {
+ public boolean equals(int a) // wrong arg type, don't flag
+ {
+ return a == 1;
+ }
+ }
+
+ public class EqualsVsHashCode2
+ {
+ public boolean equals(String a) // don't flag
+ {
+ return true;
+ }
+ }
+
+ public class EqualsVsHashCode3
+ {
+ public boolean equals(Object a) // don't flag
+ {
+ return true;
+ }
+
+ public int hashCode()
+ {
+ return 0;
+ }
+ }
+
+ public class EqualsVsHashCode4
+ {
+ // in anon inner class
+ ByteArrayOutputStream bos1 = new ByteArrayOutputStream()
+ {
+ public boolean equals(Object a) // don't flag
+ {
+ return true;
+ }
+
+ public int hashCode()
+ {
+ return 0;
+ }
+ };
+
+ ByteArrayOutputStream bos2 = new ByteArrayOutputStream()
+ {
+ public boolean equals(Object a) // flag
+ {
+ return true;
+ }
+ };
+ }
+
+ public void triggerEmptyBlockWithoutBlock()
+ {
+ // an if statement without a block to increase test coverage
+ if (true)
+ return;
+ }
+
+ // empty instance initializer
+ {
+ }
+
+ public class EqualsVsHashCode5
+ {
+ public <A> boolean equals(int a) // wrong arg type, don't flag even with generics
+ {
+ return a == 1;
+ }
+ }
+
+ public class EqualsVsHashCode6
+ {
+ public <A> boolean equals(Comparable<A> a) // don't flag
+ {
+ return true;
+ }
+ }
+
+ private class InputBraces {
+
+ }
+
+ private class InputModifier {
+
+ }
+}