Home | History | Annotate | Download | only in shadows
      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