1 package com.xtremelabs.robolectric.shadows; 2 3 import android.content.ContentValues; 4 import com.xtremelabs.robolectric.WithTestDefaultsRunner; 5 import com.xtremelabs.robolectric.util.DatabaseConfig; 6 import com.xtremelabs.robolectric.util.SQLiteMap; 7 import org.junit.Test; 8 import org.junit.runner.RunWith; 9 10 import java.sql.ResultSet; 11 import java.sql.Statement; 12 13 import static com.xtremelabs.robolectric.Robolectric.shadowOf; 14 import static org.hamcrest.CoreMatchers.equalTo; 15 import static org.hamcrest.CoreMatchers.not; 16 import static org.junit.Assert.assertThat; 17 18 @DatabaseConfig.UsingDatabaseMap(SQLiteMap.class) 19 @RunWith(WithTestDefaultsRunner.class) 20 public 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