diff --git a/src/main/java/testsmell/smell/MagicNumberTest.java b/src/main/java/testsmell/smell/MagicNumberTest.java index 4f0061c..6b756ed 100644 --- a/src/main/java/testsmell/smell/MagicNumberTest.java +++ b/src/main/java/testsmell/smell/MagicNumberTest.java @@ -6,15 +6,14 @@ import com.github.javaparser.ast.expr.MethodCallExpr; import com.github.javaparser.ast.expr.ObjectCreationExpr; import com.github.javaparser.ast.visitor.VoidVisitorAdapter; -import testsmell.*; +import testsmell.AbstractSmell; +import testsmell.TestMethod; +import testsmell.Util; import thresholds.Thresholds; import java.io.FileNotFoundException; -import java.util.List; -public class MagicNumberTest extends AbstractSmell { - - private List smellyElementList; +public class MagicNumberTest extends AbstractSmell { public MagicNumberTest(Thresholds thresholds) { super(thresholds); @@ -40,6 +39,7 @@ public void runAnalysis(CompilationUnit testFileCompilationUnit, CompilationUnit private class ClassVisitor extends VoidVisitorAdapter { private MethodDeclaration currentMethod = null; + private MagicNumberTest magicNumberTest; TestMethod testMethod; private int magicCount = 0; @@ -54,8 +54,7 @@ public void visit(MethodDeclaration n, Void arg) { testMethod.setSmell(magicCount >= thresholds.getMagicNumberTest()); testMethod.addDataItem("MagicNumberCount", String.valueOf(magicCount)); - - smellyElementList.add(testMethod); + smellyElementsSet.add(testMethod); //reset values for next method currentMethod = null; @@ -77,27 +76,27 @@ public void visit(MethodCallExpr n, Void arg) { n.getNameAsString().equals("assertNotNull") || n.getNameAsString().equals("assertNull")) { // checks all arguments of the assert method - for (Expression argument:n.getArguments()) { + for (Expression argument : n.getArguments()) { // if the argument is a number - if(Util.isNumber(argument.toString())){ - magicCount++; - } - // if the argument contains an ObjectCreationExpr (e.g. assertEquals(new Integer(2),...) - else if(argument instanceof ObjectCreationExpr){ - for (Expression objectArguments:((ObjectCreationExpr) argument).getArguments()){ - if(Util.isNumber(objectArguments.toString())){ - magicCount++; - } - } - } - // if the argument contains an MethodCallExpr (e.g. assertEquals(someMethod(2),...) - else if(argument instanceof MethodCallExpr){ - for (Expression objectArguments:((MethodCallExpr) argument).getArguments()){ - if(Util.isNumber(objectArguments.toString())){ - magicCount++; - } - } - } + if (Util.isNumber(argument.toString())) { + magicCount++; + } + // if the argument contains an ObjectCreationExpr (e.g. assertEquals(new Integer(2),...) + else if (argument instanceof ObjectCreationExpr) { + for (Expression objectArguments : ((ObjectCreationExpr) argument).getArguments()) { + if (Util.isNumber(objectArguments.toString())) { + magicCount++; + } + } + } + // if the argument contains an MethodCallExpr (e.g. assertEquals(someMethod(2),...) + else if (argument instanceof MethodCallExpr) { + for (Expression objectArguments : ((MethodCallExpr) argument).getArguments()) { + if (Util.isNumber(objectArguments.toString())) { + magicCount++; + } + } + } } } }