]> source.dussan.org Git - sonarqube.git/blob
34cb803a12447d4e81cfbc9510484098d0079ac8
[sonarqube.git] /
1 package org.sonar.java.bytecode.visitor;
2
3 import org.junit.BeforeClass;
4 import org.junit.Test;
5 import org.sonar.java.bytecode.ClassworldsClassLoader;
6 import org.sonar.java.bytecode.asm.AsmClass;
7 import org.sonar.java.bytecode.asm.AsmClassProvider;
8 import org.sonar.java.bytecode.asm.AsmClassProviderImpl;
9 import org.sonar.java.bytecode.asm.AsmMethod;
10
11 import static org.junit.Assert.*;
12 import static org.sonar.java.ast.SquidTestUtils.getFile;
13
14 public class AccessorVisitorTest {
15
16   private static AsmClassProvider asmClassProvider;
17   private static AsmClass javaBean;
18   private static AccessorVisitor accessorVisitor = new AccessorVisitor();
19
20   @BeforeClass
21   public static void init() {
22     asmClassProvider = new AsmClassProviderImpl(ClassworldsClassLoader.create(getFile("/bytecode/bin/")));
23     javaBean = asmClassProvider.getClass("properties/JavaBean");
24     accessorVisitor.visitClass(javaBean);
25     for (AsmMethod method : javaBean.getMethods()) {
26       accessorVisitor.visitMethod(method);
27     }
28   }
29
30   @Test
31   public void testAccessorMethods() {
32     assertTrue(javaBean.getMethod("getName()Ljava/lang/String;").isAccessor());
33     assertTrue(javaBean.getMethod("setName(Ljava/lang/String;)V").isAccessor());
34     assertTrue(javaBean.getMethod("setFrench(Z)V").isAccessor());
35     assertTrue(javaBean.getMethod("isFrench()Z").isAccessor());
36     assertFalse(javaBean.getMethod("anotherMethod()V").isAccessor());
37   }
38 }