package com.jcwhatever.nucleus.internal.managed.reflection;
import static org.junit.Assert.assertEquals;
import com.jcwhatever.nucleus.NucleusTest;
import com.jcwhatever.nucleus.managed.reflection.Reflection;
import org.junit.BeforeClass;
import org.junit.Test;
public class ReflectionUtilsTest {
@BeforeClass
public static void beforeClass() {
NucleusTest.init();
}
@Test
public void testGetArrayDimensions() throws Exception {
boolean notAnArray = true;
boolean[] array1 = new boolean[0];
boolean[][] array2 = new boolean[0][0];
boolean[][][] array3 = new boolean[0][0][0];
assertEquals(0, Reflection.getArrayDimensions(notAnArray));
assertEquals(1, Reflection.getArrayDimensions(array1));
assertEquals(2, Reflection.getArrayDimensions(array2));
assertEquals(3, Reflection.getArrayDimensions(array3));
}
@Test
public void testGetArrayComponentType() {
ReflectionUtilsTest notAnArray = this;
boolean[] array1 = new boolean[0];
boolean[][] array2 = new boolean[0][0];
boolean[][][] array3 = new boolean[0][0][0];
assertEquals(ReflectionUtilsTest.class, Reflection.getArrayComponentType(notAnArray));
assertEquals(boolean.class, Reflection.getArrayComponentType(array1));
assertEquals(boolean.class, Reflection.getArrayComponentType(array2));
assertEquals(boolean.class, Reflection.getArrayComponentType(array3));
}
}