package com.android_textbook.learnjunit.db;
import com.android_textbook.learnjunit.db.MyDbOpenHelper;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.test.InstrumentationTestCase;
import android.test.RenamingDelegatingContext;
public class MyDbOpenHelperTest extends InstrumentationTestCase {
private MyDbOpenHelper mHelper;
@Override
protected void setUp() throws Exception {
super.setUp();
Context targetContext = getInstrumentation().getTargetContext();
RenamingDelegatingContext rdContext = new RenamingDelegatingContext(targetContext, "test_");
mHelper = new MyDbOpenHelper(rdContext);
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
mHelper.close();
mHelper = null;
}
public void testGetStr() {
// 最初に登録されていないのでnullが返されることを確認する
assertNull(mHelper.getStr(3));
{ // テストデータをINSERTする
SQLiteDatabase db = mHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id", 3);
values.put("str", "test string 1");
db.insert("STR_ENTRY", null, values);
}
// 登録した値が取得できることを確認する
assertEquals("test string 1", mHelper.getStr(3));
}
public void testPutStr() {
// 登録前はnullとなることを確認する
assertNull(mHelper.getStr(4));
// 登録し、値が取得できることを確認する
assertNull(mHelper.putStr(4, "test string 2"));
assertEquals("test string 2", mHelper.putStr(4, "test string 3"));
}
}