1package com.xtremelabs.robolectric.shadows; 2 3import android.content.ContentValues; 4import com.xtremelabs.robolectric.WithTestDefaultsRunner; 5import com.xtremelabs.robolectric.util.DatabaseConfig; 6import com.xtremelabs.robolectric.util.SQLiteMap; 7import org.junit.Test; 8import org.junit.runner.RunWith; 9 10import java.sql.ResultSet; 11import java.sql.Statement; 12 13import static com.xtremelabs.robolectric.Robolectric.shadowOf; 14import static org.hamcrest.CoreMatchers.equalTo; 15import static org.hamcrest.CoreMatchers.not; 16import static org.junit.Assert.assertThat; 17 18@DatabaseConfig.UsingDatabaseMap(SQLiteMap.class) 19@RunWith(WithTestDefaultsRunner.class) 20public class SQLiteDatabaseTest extends DatabaseTestBase { 21 22 @Test 23 public void shouldUseSQLiteDatabaseMap() throws Exception { 24 assertThat(DatabaseConfig.getDatabaseMap().getClass().getName(), 25 equalTo(SQLiteMap.class.getName())); 26 } 27 28 @Test 29 public void testReplace() throws Exception { 30 long id = addChuck(); 31 assertThat(id, not(equalTo(-1L))); 32 33 ContentValues values = new ContentValues(); 34 values.put("id", id); 35 values.put("name", "Norris"); 36 37 long replaceId = database.replace("table_name", null, values); 38 assertThat(replaceId, equalTo(id)); 39 40 Statement statement = shadowOf(database).getConnection().createStatement(); 41 ResultSet resultSet = statement.executeQuery("SELECT name FROM table_name where id = "+id); 42 43 assertThat(resultSet.next(), equalTo(true)); 44 assertThat(resultSet.getString(1), equalTo("Norris")); 45 } 46} 47