package rocks.inspectit.agent.java.instrumentation.asm; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import info.novatec.inspectit.org.objectweb.asm.Opcodes; import java.lang.reflect.Modifier; import org.testng.annotations.Test; /** * @author Ivan Senic * */ public class AsmUtilTest { public class GetFqn extends AsmUtilTest { @Test public void fqn() { String asmInternal = "com/test/Example"; String fqn = AsmUtil.getFqn(asmInternal); assertThat(fqn, is("com.test.Example")); } @Test public void defaultPackage() { String asmInternal = "Example"; String fqn = AsmUtil.getFqn(asmInternal); assertThat(fqn, is("Example")); } } public class GetAsmInternalName extends AsmUtilTest { @Test public void asmInternalName() { String fqn = "com.test.Example"; String asmInternal = AsmUtil.getAsmInternalName(fqn); assertThat(asmInternal, is("com/test/Example")); } @Test public void defaultPackage() { String fqn = "Example"; String asmInternal = AsmUtil.getAsmInternalName(fqn); assertThat(asmInternal, is("Example")); } } public class GetModifiers extends AsmUtilTest { @Test public void publicMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_PUBLIC); assertThat(Modifier.isPublic(mod), is(true)); } @Test public void privateMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_PRIVATE); assertThat(Modifier.isPrivate(mod), is(true)); } @Test public void protectedMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_PROTECTED); assertThat(Modifier.isProtected(mod), is(true)); } @Test public void staticMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_STATIC); assertThat(Modifier.isStatic(mod), is(true)); } @Test public void finalMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_FINAL); assertThat(Modifier.isFinal(mod), is(true)); } @Test public void synchronizedMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_SYNCHRONIZED); assertThat(Modifier.isSynchronized(mod), is(true)); } @Test public void volatileMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_VOLATILE); assertThat(Modifier.isVolatile(mod), is(true)); } @Test public void transientMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_TRANSIENT); assertThat(Modifier.isTransient(mod), is(true)); } @Test public void nativeMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_NATIVE); assertThat(Modifier.isNative(mod), is(true)); } @Test public void abstractMod() { int mod = AsmUtil.getModifiers(Opcodes.ACC_ABSTRACT); assertThat(Modifier.isAbstract(mod), is(true)); } @Test public void mixed() { int mod = AsmUtil.getModifiers(Opcodes.ACC_PUBLIC | Opcodes.ACC_ABSTRACT | Opcodes.ACC_FINAL); assertThat(Modifier.isPublic(mod), is(true)); assertThat(Modifier.isAbstract(mod), is(true)); assertThat(Modifier.isFinal(mod), is(true)); } } }