package com.nononsenseapps.notepad.test; import com.nononsenseapps.notepad.data.local.sql.DatabaseHandler; import com.nononsenseapps.notepad.data.local.sql.LegacyDBHelper; import com.nononsenseapps.notepad.data.model.sql.Task; import com.nononsenseapps.notepad.data.model.sql.TaskList; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; public class DBFreshTest extends AndroidTestCase { static final String PREFIX = "fresh_test_"; private Context context; @Override public void setUp() throws Exception { super.setUp(); context = getContext(); } @Override public void tearDown() throws Exception { super.tearDown(); } @SmallTest public void testFreshInstall() { context.deleteDatabase(PREFIX + LegacyDBHelper.LEGACY_DATABASE_NAME); context.deleteDatabase(PREFIX + DatabaseHandler.DATABASE_NAME); final SQLiteDatabase db = new DatabaseHandler(context, PREFIX).getReadableDatabase(); // Just open the database, there should be one list and one task present Cursor tlc = db.query(TaskList.TABLE_NAME, TaskList.Columns.FIELDS, null, null, null, null, null); assertEquals("Should be ONE list present on fresh installs", 1, tlc.getCount()); tlc.close(); Cursor tc = db.query(Task.TABLE_NAME, Task.Columns.FIELDS, null, null, null, null, null); assertEquals("Should be NO task present on fresh installs", 0, tc.getCount()); tc.close(); db.close(); assertTrue("Could not delete database", context.deleteDatabase(PREFIX + LegacyDBHelper.LEGACY_DATABASE_NAME)); assertTrue("Could not delete database", context.deleteDatabase(PREFIX + DatabaseHandler.DATABASE_NAME)); } }