package net.bytebuddy.implementation.bytecode; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; @RunWith(Parameterized.class) public class StackSizeMaximumTest { private final StackSize first, second, expected; public StackSizeMaximumTest(StackSize first, StackSize second, StackSize expected) { this.first = first; this.second = second; this.expected = expected; } @Parameterized.Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][]{ {StackSize.DOUBLE, StackSize.ZERO, StackSize.DOUBLE}, {StackSize.DOUBLE, StackSize.SINGLE, StackSize.DOUBLE}, {StackSize.DOUBLE, StackSize.DOUBLE, StackSize.DOUBLE}, {StackSize.SINGLE, StackSize.DOUBLE, StackSize.DOUBLE}, {StackSize.SINGLE, StackSize.SINGLE, StackSize.SINGLE}, {StackSize.SINGLE, StackSize.ZERO, StackSize.SINGLE}, {StackSize.ZERO, StackSize.DOUBLE, StackSize.DOUBLE}, {StackSize.ZERO, StackSize.SINGLE, StackSize.SINGLE}, {StackSize.ZERO, StackSize.ZERO, StackSize.ZERO}, }); } @Test public void testMaximum() throws Exception { assertThat(first.maximum(second), is(expected)); } }