diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/MisorderedAssertEqualsArgumentsInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/MisorderedAssertEqualsArgumentsInspectionBase.java
index 0760b141c550..8850fce494e6 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/MisorderedAssertEqualsArgumentsInspectionBase.java
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/MisorderedAssertEqualsArgumentsInspectionBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -185,7 +185,16 @@ public abstract class MisorderedAssertEqualsArgumentsInspectionBase extends Base
return;
}
if (ExpressionUtils.computeConstantExpression(actualArgument) == null) {
- return;
+ if (actualArgument instanceof PsiReferenceExpression) {
+ final PsiReferenceExpression referenceExpression = (PsiReferenceExpression)actualArgument;
+ final PsiElement target = referenceExpression.resolve();
+ if (!(target instanceof PsiEnumConstant)) {
+ return;
+ }
+ }
+ else {
+ return;
+ }
}
registerMethodCallError(expression);
}
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/misordered_assert_equals_parameters/Simple.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/misordered_assert_equals_parameters/Simple.java
index e4497c605c80..3991e27403b4 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/misordered_assert_equals_parameters/Simple.java
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/junit/misordered_assert_equals_parameters/Simple.java
@@ -1,5 +1,7 @@
import org.junit.Assert;
+import java.util.concurrent.TimeUnit;
+
class Simple {
public static final int EXPECTED = -9;
@@ -10,7 +12,14 @@ class Simple {
Assert.assertEquals(s, -1);
Assert.assertSame(s, EXPECTED);
junit.framework.Assert.failNotEquals("asdfasd", s, EXPECTED);
+
+ TimeUnit timeUnit = TimeUnit.HOURS;
+ Assert.assertEquals(timeUnit, TimeUnit.HOURS);
return null;
}
}
+
+ enum TimeUnit {
+ HOURS
+ }
}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspectionTest.java
index dfe13ca3d40a..d822720565d2 100644
--- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspectionTest.java
+++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/junit/MisorderedAssertEqualsParametersInspectionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,6 +31,7 @@ public class MisorderedAssertEqualsParametersInspectionTest extends LightInspect
"package org.junit;" +
"public class Assert {" +
" static public void assertEquals(long expected, long actual) {}" +
+ " static public void assertEquals(Object expected, Object actual){}" +
" static public void assertSame(Object expected, Object actual) {}" +
"}",
"package junit.framework;" +