package org.testory.common;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
import static org.testory.common.Classes.defaultValue;
import java.util.List;
import org.junit.Test;
public class TestClassesDefaultValue {
@Test
public void returns_binary_zero_for_primitives() {
assertEquals(Boolean.valueOf(false), defaultValue(boolean.class));
assertEquals(Character.valueOf((char) 0), defaultValue(char.class));
assertEquals(Byte.valueOf((byte) 0), defaultValue(byte.class));
assertEquals(Short.valueOf((short) 0), defaultValue(short.class));
assertEquals(Integer.valueOf(0), defaultValue(int.class));
assertEquals(Long.valueOf(0), defaultValue(long.class));
assertEquals(Float.valueOf(0), defaultValue(float.class));
assertEquals(Double.valueOf(0), defaultValue(double.class));
}
@Test
public void returns_null_for_wrappers() {
assertNull(defaultValue(Boolean.class));
assertNull(defaultValue(Character.class));
assertNull(defaultValue(Byte.class));
assertNull(defaultValue(Short.class));
assertNull(defaultValue(Integer.class));
assertNull(defaultValue(Long.class));
assertNull(defaultValue(Float.class));
assertNull(defaultValue(Double.class));
}
@Test
public void returns_null_for_other_types() {
assertNull(defaultValue(Number.class));
assertNull(defaultValue(Void.class));
assertNull(defaultValue(void.class));
assertNull(defaultValue(Object.class));
assertNull(defaultValue(String.class));
assertNull(defaultValue(Exception.class));
assertNull(defaultValue(List.class));
assertNull(defaultValue(Runnable.class));
assertNull(defaultValue(Class.class));
}
@Test
public void type_cannot_be_null() {
try {
defaultValue(null);
fail();
} catch (NullPointerException e) {}
}
}