public void testLiteralProperties() { StringProperty stringLiteral = StringProperty.literal("abc", "strLit"); assertEquals("SELECT 'abc' AS strLit", Query.select(stringLiteral).toString()); IntegerProperty intLiteral = IntegerProperty.literal(1, "intLit"); assertEquals("SELECT 1 AS intLit", Query.select(intLiteral).toString()); long longVal = System.currentTimeMillis(); LongProperty longLiteral = LongProperty.literal(longVal, "longLit"); assertEquals("SELECT " + longVal + " AS longLit", Query.select(longLiteral).toString()); DoubleProperty doubleLiteral = DoubleProperty.literal(1.1, "doubleLit"); assertEquals("SELECT 1.1 AS doubleLit", Query.select(doubleLiteral).toString()); BooleanProperty trueLiteral = BooleanProperty.literal(true, "trueLit"); assertEquals("SELECT 1 AS trueLit", Query.select(trueLiteral).toString()); BooleanProperty falseLiteral = BooleanProperty.literal(false, "falseLit"); assertEquals("SELECT 0 AS falseLit", Query.select(falseLiteral).toString()); EnumProperty enumLiteral = EnumProperty.literal(TestEnum.APPLE, "enumLit"); assertEquals("SELECT 'APPLE' AS enumLit", Query.select(enumLiteral).toString()); }
public void testTypesafeGetter() { StringProperty literalString = StringProperty.literal("literalString", "testStr"); IntegerProperty literalInteger = IntegerProperty.literal(2, "testInt"); BooleanProperty literalBoolean = BooleanProperty.literal(true, "testBool"); // Test casting Integer to Boolean BooleanProperty castBool = BooleanProperty.literal(false, literalInteger.getName()); // Test casting Boolean to Integer IntegerProperty castInt = IntegerProperty.literal(0, literalBoolean.getName()); // Test casting Integer to String StringProperty castString = StringProperty.literal("", literalInteger.getName()); Query query = Query.select(literalString, literalInteger, literalBoolean); SquidCursor<?> cursor = database.query(null, query); try { assertTrue(cursor.moveToFirst()); assertEquals("literalString", cursor.get(literalString)); assertEquals(2, cursor.get(literalInteger).intValue()); assertTrue(cursor.get(literalInteger) instanceof Integer); assertTrue(cursor.get(literalBoolean)); assertTrue(cursor.get(castBool)); assertEquals(1, cursor.get(castInt).intValue()); assertEquals("2", cursor.get(castString)); } finally { cursor.close(); } }