18a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederpackage com.xtremelabs.robolectric.shadows; 28a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 38a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport static org.hamcrest.CoreMatchers.equalTo; 48a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport static org.hamcrest.CoreMatchers.is; 58a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport static org.hamcrest.CoreMatchers.notNullValue; 68a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport static org.junit.Assert.assertThat; 78a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 88a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport java.util.Map; 98a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 108a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport org.junit.Before; 118a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport org.junit.Test; 128a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport org.junit.runner.RunWith; 138a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 148a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport android.content.ContentProviderOperation; 158a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport android.content.ContentProviderOperation.Builder; 168a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 178a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport com.xtremelabs.robolectric.Robolectric; 188a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 198a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 208a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder@RunWith(WithTestDefaultsRunner.class) 218a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackersederpublic class ContentProviderOperationBuilderTest { 228a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder private Builder builder; 238a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder private ShadowContentProviderOperationBuilder shadowBuilder; 248a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 258a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder @Before 268a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder public void before() { 278a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder builder = Robolectric.newInstanceOf(Builder.class); 288a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder shadowBuilder = Robolectric.shadowOf(builder); 298a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder } 308a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 318a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder @Test 328a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder public void withValue() { 338a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder builder 348a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder .withValue("stringTest", "bar") 358a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder .withValue("intTest", 5) 368a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder .withValue("longTest", 10L); 378a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 388a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder Map<String, Object> values = shadowBuilder.getValues(); 398a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(values.size(), is(3)); 408a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(values.get("stringTest").toString(), equalTo("bar")); 418a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(Integer.parseInt(values.get("intTest").toString()), equalTo(5)); 428a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(Long.parseLong(values.get("longTest").toString()), equalTo(10L)); 438a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder } 448a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 458a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder @Test 468a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder public void withSelection() { 478a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder builder 488a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder .withSelection("first", new String[] { "a", "b" }) 498a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder .withSelection("second", new String[] { "c", "d" }); 508a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 518a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder Map<String, String[]> selections = shadowBuilder.getSelections(); 528a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(selections.size(), is(2)); 538a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(selections.get("first"), equalTo(new String[] { "a", "b" })); 548a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(selections.get("second"), equalTo(new String[] { "c", "d" })); 558a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder } 568a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder 578a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder @Test 589f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder public void withValueBackReference() { 599f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder builder.withValueBackReference("foo", 5); 609f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder 619f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder int backReference = shadowBuilder.getWithValueBackReference("foo"); 629f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder assertThat(backReference, is(5)); 639f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder } 649f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder 659f1a5eff8521170f104c95f2fbdb43ffd31f68f0Christian Rackerseder @Test 668a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder public void build() { 678a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder ContentProviderOperation operation = builder.build(); 688a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder assertThat(operation, notNullValue()); 698a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder } 708a7f9095c36492812d268ee4d2a1745a542d6434Christian Rackerseder}