public void testViewlessViewModel() {
SquidCursor<ViewlessViewModel> cursor = null;
try {
cursor = database.query(ViewlessViewModel.class, Query.select(ViewlessViewModel.PROPERTIES)
.from(TestModel.TABLE)
.join(Join.left(Employee.TABLE, TestModel.ID.eq(Employee.ID)))
.where(TestModel.FIRST_NAME.gt("S"))
.orderBy(TestModel.FIRST_NAME.asc()));
assertEquals(2, cursor.getCount());
cursor.moveToFirst();
ViewlessViewModel model = new ViewlessViewModel(cursor);
assertEquals(t1.getRowId(), model.getTestModelId().longValue());
assertEquals(e1.getRowId(), model.getEmployeeModelId().longValue());
assertEquals(t1.getFirstName(), model.getTestName());
assertEquals(e1.getName(), model.getEmployeeName());
assertEquals(e1.getName().toUpperCase(), model.getUppercaseName());
cursor.moveToNext();
model.readPropertiesFromCursor(cursor);
assertEquals(t2.getRowId(), model.getTestModelId().longValue());
assertEquals(e2.getRowId(), model.getEmployeeModelId().longValue());
assertEquals(t2.getFirstName(), model.getTestName());
assertEquals(e2.getName(), model.getEmployeeName());
assertEquals(e2.getName().toUpperCase(), model.getUppercaseName());
} finally {
if (cursor != null) {
cursor.close();
}
}
}