diff options
author | slava ganyaev <slava.ganyaev@gmail.com> | 2017-04-12 14:34:46 +0300 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2017-04-12 11:18:37 -0700 |
commit | faab1a5bf94a9eed4bdaa330aa10351703e2ad28 (patch) | |
tree | ca833ab710f382e4f6117aeb22a3d328dd8586a9 /src/test/resources/com/puppycrawl | |
parent | fc9819cc938d4c3bef83dcac646b620a74ab7b82 (diff) | |
download | checkstyle-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.java | 135 |
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 { + + } +} |