use of com.dailystudio.dataobject.Column in project devbricks by dailystudio.
the class TimeColumnTest method testParseValueFrom.
public void testParseValueFrom() {
Column columnA = new TimeColumn("columnA");
assertNotNull(columnA);
Column columnB = new TimeColumn("columnB");
assertNotNull(columnB);
SimpleLongCursor c = new SimpleLongCursor();
c.putColumnValue(columnA.getName(), 987654321012345678l);
c.putColumnValue(columnB.getName(), -1234567654321l);
ContentValues values = new ContentValues();
assertNotNull(values);
columnA.parseValueFrom(c, values);
columnB.parseValueFrom(c, values);
long actual = 0;
actual = values.getAsLong(columnA.getName());
assertEquals(987654321012345678l, actual);
actual = values.getAsLong(columnB.getName());
assertEquals(-1234567654321l, actual);
}
use of com.dailystudio.dataobject.Column in project devbricks by dailystudio.
the class AsyncDatabaseHelperTest method testQueryWithGroupBy.
public void testQueryWithGroupBy() {
final int count = (3 * 10);
DatabaseObject object = null;
DatabaseObject[] objects = new DatabaseObject[count];
assertNotNull(objects);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 10; j++) {
object = DatabaseObjectFactory.createDatabaseObject(QueryObject.class);
assertNotNull(object);
object.setValue("intValue", i);
object.setValue("doubleValue", ((double) i * 2));
object.setValue("textValue", String.format("%04d", i * 3));
objects[i * 10 + j] = object;
}
}
AsyncDatabaseHelper helper = new TestAsyncDatabaseHelp(mTargetContext, AUTHORITY, QueryObject.class, true);
assertNotNull(helper);
helper.startBulkInsert(mRandom.nextInt(), "BulkInsert1", objects);
waitHelper(helper);
final Template templ = object.getTemplate();
Column col = templ.getColumn("intValue");
Query query = new Query(QueryObject.class);
assertNotNull(query);
ExpressionToken selToken = col.gte(0).and(col.lt(2));
query.setSelection(selToken);
OrderingToken groupByToken = col.groupBy();
query.setGroupBy(groupByToken);
helper.startQuery(mRandom.nextInt(), "testQueryWithGroupBy", query);
waitHelper(helper);
AbsDatabaseConnectivity connectivity = new DatabaseConnectivity(mTargetContext, AUTHORITY, QueryObject.class);
assertNotNull(connectivity);
connectivity.delete(new Query(QueryObject.class));
}
use of com.dailystudio.dataobject.Column in project devbricks by dailystudio.
the class AsyncDatabaseHelperTest method testQueryCursor.
public void testQueryCursor() {
final int count = 10;
DatabaseObject object = null;
DatabaseObject[] objects = new DatabaseObject[count];
assertNotNull(objects);
for (int i = 0; i < 10; i++) {
object = DatabaseObjectFactory.createDatabaseObject(QueryObject.class);
assertNotNull(object);
object.setValue("intValue", i);
object.setValue("doubleValue", ((double) i * 2));
object.setValue("textValue", String.format("%04d", i * 3));
objects[i] = object;
}
AsyncDatabaseHelper helper = new TestAsyncDatabaseHelp(mTargetContext, AUTHORITY, QueryObject.class, true);
assertNotNull(helper);
helper.startBulkInsert(mRandom.nextInt(), "BulkInsert1", objects);
waitHelper(helper);
final Template templ = object.getTemplate();
Column col = templ.getColumn("intValue");
Query query = null;
ExpressionToken selToken = null;
query = new Query(QueryObject.class);
assertNotNull(query);
selToken = col.gt(5).and(col.lt(9));
query.setSelection(selToken);
helper.startQueryCursor(mRandom.nextInt(), "testQueryCursor1", query);
waitHelper(helper);
selToken = col.gt(5).and(col.lt(9));
query.setSelection(selToken);
helper.startQueryCursor(mRandom.nextInt(), "testQueryCursor2", query);
waitHelper(helper);
AbsDatabaseConnectivity connectivity = new DatabaseConnectivity(mTargetContext, AUTHORITY, QueryObject.class);
assertNotNull(connectivity);
connectivity.delete(new Query(QueryObject.class));
}
use of com.dailystudio.dataobject.Column in project devbricks by dailystudio.
the class AsyncDatabaseHelperTest method testQueryWithProjectionClass.
public void testQueryWithProjectionClass() {
final int count = 10;
DatabaseObject object = null;
DatabaseObject[] objects = new DatabaseObject[count];
assertNotNull(objects);
for (int i = 0; i < 10; i++) {
object = DatabaseObjectFactory.createDatabaseObject(QueryObject.class);
assertNotNull(object);
object.setValue("intValue", i);
object.setValue("doubleValue", ((double) i * 2));
object.setValue("textValue", String.format("%04d", i * 3));
objects[i] = object;
}
AsyncDatabaseHelper helper = new TestAsyncDatabaseHelp(mTargetContext, AUTHORITY, QueryObject.class, true);
assertNotNull(helper);
helper.startBulkInsert(mRandom.nextInt(), "BulkInsert1", objects);
waitHelper(helper);
final Template templ = object.getTemplate();
Column col = templ.getColumn("intValue");
Query query = new Query(QueryObject.class);
assertNotNull(query);
ExpressionToken selToken = col.gt(5).and(col.lt(9));
query.setSelection(selToken);
helper.startQuery(mRandom.nextInt(), "testQueryWithProjectionClass", query, ProjectionObject.class);
waitHelper(helper);
AbsDatabaseConnectivity connectivity = new DatabaseConnectivity(mTargetContext, AUTHORITY, QueryObject.class);
assertNotNull(connectivity);
connectivity.delete(new Query(QueryObject.class));
}
use of com.dailystudio.dataobject.Column in project devbricks by dailystudio.
the class BlobColumnTest method testSetValue.
public void testSetValue() {
Column column = null;
column = new BlobColumn("columnA");
assertNotNull(column);
ContentValues values = new ContentValues();
column.setValue(values, BINARY_A);
Asserts.assertEquals(BINARY_A, values.getAsByteArray("columnA"));
column.setValue(values, BINARY_B);
Asserts.assertEquals(BINARY_B, values.getAsByteArray("columnA"));
boolean exceptionCacthed = false;
try {
column.setValue(values, 123);
exceptionCacthed = false;
} catch (ClassCastException e) {
exceptionCacthed = true;
}
assertEquals(true, exceptionCacthed);
try {
column.setValue(values, 3.1415);
exceptionCacthed = false;
} catch (ClassCastException e) {
exceptionCacthed = true;
}
assertEquals(true, exceptionCacthed);
try {
column.setValue(values, "Text");
exceptionCacthed = false;
} catch (ClassCastException e) {
exceptionCacthed = true;
}
assertEquals(true, exceptionCacthed);
}
Aggregations