/** * */ package edu.washington.escience.myria.util; import static org.junit.Assert.fail; import java.math.BigInteger; import java.util.Calendar; import java.util.Date; import org.joda.time.DateTime; import org.junit.Test; /** * */ public class MyriaUtilsTest { @Test public void testEnsureObjectIsValidType() { MyriaUtils.ensureObjectIsValidType(Boolean.FALSE); MyriaUtils.ensureObjectIsValidType(Boolean.TRUE); MyriaUtils.ensureObjectIsValidType(false); MyriaUtils.ensureObjectIsValidType(new Double(0)); MyriaUtils.ensureObjectIsValidType(new Float(0)); MyriaUtils.ensureObjectIsValidType(new Long(0)); MyriaUtils.ensureObjectIsValidType(new Integer(0)); MyriaUtils.ensureObjectIsValidType("string"); MyriaUtils.ensureObjectIsValidType(DateTime.now()); } private void assertInvalidObject(final Object o) { try { MyriaUtils.ensureObjectIsValidType(o); fail(); } catch (IllegalArgumentException e) { /* Expected */ } } @Test public void testEnsureObjectIsInvalidType() { /* Various arrays of valid types */ assertInvalidObject(new Boolean[] {}); assertInvalidObject(new Double[] {}); assertInvalidObject(new Float[] {}); assertInvalidObject(new Integer[] {}); assertInvalidObject(new Integer[] {3}); assertInvalidObject(new Long[] {}); assertInvalidObject(new Long[] {3L}); assertInvalidObject(new String[] {"hi", "mom"}); assertInvalidObject(new DateTime[] {}); /* Random other objects that seem related. */ assertInvalidObject(BigInteger.ZERO); assertInvalidObject(BigInteger.ONE); assertInvalidObject(new Date()); assertInvalidObject(Calendar.getInstance()); } @Test public void testEnsureObjectIsNullType() { MyriaUtils.ensureObjectIsValidType(null); } }