package net.bytebuddy.implementation.bytecode.collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; import java.util.Arrays; import java.util.Collection; import static org.mockito.Mockito.verify; @RunWith(Parameterized.class) public class ArrayFactoryReferenceTest extends AbstractArrayFactoryTest { private final Class<?> type; private final String internalTypeName; public ArrayFactoryReferenceTest(Class<?> type) { this.type = type; internalTypeName = Type.getInternalName(type); } @Parameterized.Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][]{ {Object.class}, {Object[].class}, {String.class}, }); } @Test public void testArrayCreation() throws Exception { testCreationUsing(type, Opcodes.AASTORE); } @Override protected void verifyArrayCreation(MethodVisitor methodVisitor) { verify(methodVisitor).visitTypeInsn(Opcodes.ANEWARRAY, internalTypeName); } }