package ru.arturvasilov.sqlite.testutils; import android.content.ContentValues; import android.database.Cursor; import android.support.annotation.NonNull; import org.sqlite.database.sqlite.SQLiteDatabase; import ru.arturvasilov.sqlite.core.BaseTable; import ru.arturvasilov.sqlite.core.Table; import ru.arturvasilov.sqlite.utils.TableBuilder; /** * @author Artur Vasilov */ public class JUnitTestTable extends BaseTable<JUnitTestObject> { public static final Table<JUnitTestObject> TABLE = new JUnitTestTable(); public static final String ID = "id"; public static final String RATING = "rating"; public static final String TEXT = "text"; @Override public void onCreate(@NonNull SQLiteDatabase database) { TableBuilder.create(this) .intColumn(ID) .realColumn(RATING) .textColumn(TEXT) .primaryKey(ID) .execute(database); } @NonNull @Override public ContentValues toValues(@NonNull JUnitTestObject testObject) { ContentValues values = new ContentValues(); values.put(ID, testObject.getId()); values.put(RATING, testObject.getRating()); values.put(TEXT, testObject.getText()); return values; } @NonNull @Override public JUnitTestObject fromCursor(@NonNull Cursor cursor) { int id = cursor.getInt(cursor.getColumnIndex(ID)); double rating = cursor.getDouble(cursor.getColumnIndex(RATING)); String text = cursor.getString(cursor.getColumnIndex(TEXT)); return new JUnitTestObject(id, rating, text); } }