values.put(TestModel.IS_HAPPY.getName(), 1); // Putting an int where boolean expected values.put(TestModel.SOME_DOUBLE.getName(), 1); // Putting an int where double expected values.put(TestModel.$_123_ABC.getName(), "1"); // Putting a String where int expected assertTrue(checkTypesOn.get(TestModel.IS_HAPPY.getName()) instanceof Boolean); assertTrue(checkTypesOn.get(TestModel.SOME_DOUBLE.getName()) instanceof Double); assertTrue(checkTypesOn.get(TestModel.$_123_ABC.getName()) instanceof Integer);
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(); } }
public void testProjectionMapAliasing() { assertEquals("blahTestName", TestSubqueryModel.TEST_NAME.getName()); assertEquals("blahName", TestSubqueryModel.EMPLOYEE_NAME.getName()); assertEquals("luckyNumber", TestSubqueryModel.TEST_LUCKY_NUMBER.getName()); assertEquals("blahEnum", TestSubqueryModel.TEST_ENUM.getName()); assertEquals("uppercase_name", TestSubqueryModel.UPPERCASE_NAME.getName()); SquidCursor<TestSubqueryModel> cursor = null; try { cursor = database.query(TestSubqueryModel.class, Query.select().from(TestSubqueryModel.SUBQUERY)); cursor.moveToFirst(); TestSubqueryModel model = new TestSubqueryModel(cursor); // queried model should have "uppercase_name" assertEquals(e1.getName().toUpperCase(), model.getUppercaseName()); TestModel testModel = model.mapToModel(new TestModel()); Employee employeeModel = model.mapToModel(new Employee()); assertEquals(t1.getFirstName(), testModel.getFirstName()); assertEquals(e1.getName(), employeeModel.getName()); assertEquals(t1.getLuckyNumber(), testModel.getLuckyNumber()); assertEquals(t1.getSomeEnum(), testModel.getSomeEnum()); // neither mapped model should have "uppercase_name" assertFalse(t1.containsValue(TestSubqueryModel.UPPERCASE_NAME)); assertFalse(e1.containsValue(TestSubqueryModel.UPPERCASE_NAME)); } finally { if (cursor != null) { cursor.close(); } } }