package com.loop_anime.android.db; import android.test.AndroidTestCase; import android.util.Log; import com.loop_anime.android.model.Anime; import com.loop_anime.android.model.AnimeStorIOSQLiteDeleteResolver; import com.loop_anime.android.model.AnimeStorIOSQLiteGetResolver; import com.loop_anime.android.model.AnimeStorIOSQLitePutResolver; import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping; import com.pushtorefresh.storio.sqlite.StorIOSQLite; import com.pushtorefresh.storio.sqlite.impl.DefaultStorIOSQLite; import com.pushtorefresh.storio.sqlite.queries.DeleteQuery; import com.pushtorefresh.storio.sqlite.queries.Query; import junit.framework.Assert; /** * User: Yilun Chen * Date: 15/10/14 */ public class DBTableTest extends AndroidTestCase { public void TestAnimeTable() throws Exception { StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder() .sqliteOpenHelper(DBHelper.instance(getContext())) .addTypeMapping(Anime.class, SQLiteTypeMapping.<Anime>builder() .putResolver(new AnimeStorIOSQLitePutResolver()) .getResolver(new AnimeStorIOSQLiteGetResolver()) .deleteResolver(new AnimeStorIOSQLiteDeleteResolver()) .build()) .build(); storIOSQLite .delete() .byQuery(DeleteQuery.builder() .table(Table.Anime.TABLE_NAME) .build() ).prepare() .executeAsBlocking(); Anime anime = new Anime(); anime.setId(1); final String title = "Detective Conan"; anime.setTitle(title); storIOSQLite.put() .object(anime) .prepare() .executeAsBlocking(); Anime result = storIOSQLite.get() .listOfObjects(Anime.class) .withQuery(Query.builder() .table(Table.Anime.TABLE_NAME) .where(Table.Anime.ID + "= ?") .whereArgs(1) .build()) .prepare() .executeAsBlocking() .get(0); Log.v("TITLE", result.getTitle()); Assert.assertEquals(title, result.getTitle()); } }