@Override public void run() { expr.newInstance(); } };
@Test public void create3() { assertNotNull(Projections.constructor(ProjectionExample.class).newInstance()); }
@Test public void constructor() { Expression<Long> longVal = ConstantImpl.create(1L); Expression<String> stringVal = ConstantImpl.create(""); assertEquals(ProjectionExample.class, Projections.constructor(ProjectionExample.class, longVal, stringVal) .newInstance(0L, "").getClass()); }
@Test public void constructor_varArgs() { Expression<String> stringVal = ConstantImpl.create(""); VarArgs instance = Projections.constructor(VarArgs.class, stringVal, stringVal).newInstance("X", "Y"); assertArrayEquals(new String[]{"X", "Y"}, instance.args); }
@Test public void serializability() { ConstructorExpression<String> expr = Serialization.serialize(Projections.constructor(String.class)); assertEquals("", expr.newInstance()); }
@Test public void create4() { Expression<String> stringVal = ConstantImpl.create(""); assertNotNull(Projections.constructor(ProjectionExample.class, stringVal).newInstance("")); }
@Test public void create2() { Expression<Long> longVal = ConstantImpl.create(1L); assertNotNull(Projections.constructor(ProjectionExample.class, longVal).newInstance(0L)); }
@Test public void constructor() { Expression<Long> longVal = ConstantImpl.create(1L); Expression<String> stringVal = ConstantImpl.create(""); ProjectionExample instance = new ConstructorExpression<ProjectionExample>(ProjectionExample.class, new Class<?>[]{long.class, String.class}, longVal, stringVal).newInstance(0L, ""); assertNotNull(instance); assertEquals((Long) 0L, instance.id); assertTrue(instance.text.isEmpty()); }
@Test public void create() { Expression<Long> longVal = ConstantImpl.create(1L); Expression<String> stringVal = ConstantImpl.create(""); assertNotNull(Projections.constructor(ProjectionExample.class, longVal, stringVal).newInstance(0L, "")); }
@Test public void constructor_varArgs2() { Expression<String> stringVal = ConstantImpl.create(""); VarArgs2 instance = Projections.constructor(VarArgs2.class, stringVal, stringVal, stringVal).newInstance("X", "Y", "Z"); assertEquals("X", instance.arg); assertArrayEquals(new String[]{"Y", "Z"}, instance.args); }
@Test public void constructor_varArgs3() { Constant<Long> longVal = ConstantImpl.create(1L); Constant<Character> charVal = ConstantImpl.create('\0'); ProjectionExample instance = Projections .constructor(ProjectionExample.class, longVal, charVal, charVal, charVal, charVal, charVal, charVal, charVal, charVal, charVal, charVal) .newInstance(null, 'm', 'y', 's', 'e', 'm', 'a', null, 'l', 't', 'd'); assertEquals(0L, (long) instance.id); // null character cannot be inserted, so a literal String can't be used. String expectedText = String.valueOf(new char[]{'m', 'y', 's', 'e', 'm', 'a', '\0', 'l', 't', 'd'}); assertEquals(expectedText, instance.text); }
@Test public void createNullPrimitive() { Expression<Boolean> booleanVal = ConstantImpl.create(false); Expression<Byte> byteVal = ConstantImpl.create((byte) 0); Expression<Character> charVal = ConstantImpl.create('\0'); Expression<Short> shortVal = ConstantImpl.create((short) 0); Expression<Integer> intVal = ConstantImpl.create(0); Expression<Long> longVal = ConstantImpl.create(0L); Expression<Float> floatVal = ConstantImpl.create(0.0F); Expression<Double> doubleVal = ConstantImpl.create(0.0); ProjectionExample instance = Projections.constructor(ProjectionExample.class, booleanVal, byteVal, charVal, shortVal, intVal, longVal, floatVal, doubleVal) .newInstance(null, null, null, null, null, null, null, null); assertNotNull(instance); }