package net.bytebuddy.implementation.bytecode.constant;
import net.bytebuddy.implementation.Implementation;
import net.bytebuddy.implementation.bytecode.StackManipulation;
import net.bytebuddy.test.utility.ObjectPropertyAssertion;
import org.junit.Test;
import org.objectweb.asm.MethodVisitor;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.*;
public class SerializedConstantTest {
private static final String FOO = "foo";
@Test
public void testNullValue() throws Exception {
assertThat(SerializedConstant.of(null), is((StackManipulation) NullConstant.INSTANCE));
}
@Test
public void testSerialization() throws Exception {
MethodVisitor methodVisitor = mock(MethodVisitor.class);
Implementation.Context implementationContext = mock(Implementation.Context.class);
SerializedConstant.of(FOO).apply(methodVisitor, implementationContext);
verify(methodVisitor).visitLdcInsn(contains(FOO));
verifyZeroInteractions(implementationContext);
}
@Test
public void testObjectProperties() throws Exception {
ObjectPropertyAssertion.of(SerializedConstant.class).apply();
}
}