1package com.xtremelabs.robolectric.shadows; 2 3import static org.hamcrest.CoreMatchers.equalTo; 4import static org.hamcrest.CoreMatchers.is; 5import static org.hamcrest.CoreMatchers.notNullValue; 6import static org.junit.Assert.assertThat; 7 8import java.util.Map; 9 10import org.junit.Before; 11import org.junit.Test; 12import org.junit.runner.RunWith; 13 14import android.content.ContentProviderOperation; 15import android.content.ContentProviderOperation.Builder; 16 17import com.xtremelabs.robolectric.Robolectric; 18import com.xtremelabs.robolectric.WithTestDefaultsRunner; 19 20@RunWith(WithTestDefaultsRunner.class) 21public class ContentProviderOperationBuilderTest { 22 private Builder builder; 23 private ShadowContentProviderOperationBuilder shadowBuilder; 24 25 @Before 26 public void before() { 27 builder = Robolectric.newInstanceOf(Builder.class); 28 shadowBuilder = Robolectric.shadowOf(builder); 29 } 30 31 @Test 32 public void withValue() { 33 builder 34 .withValue("stringTest", "bar") 35 .withValue("intTest", 5) 36 .withValue("longTest", 10L); 37 38 Map<String, Object> values = shadowBuilder.getValues(); 39 assertThat(values.size(), is(3)); 40 assertThat(values.get("stringTest").toString(), equalTo("bar")); 41 assertThat(Integer.parseInt(values.get("intTest").toString()), equalTo(5)); 42 assertThat(Long.parseLong(values.get("longTest").toString()), equalTo(10L)); 43 } 44 45 @Test 46 public void withSelection() { 47 builder 48 .withSelection("first", new String[] { "a", "b" }) 49 .withSelection("second", new String[] { "c", "d" }); 50 51 Map<String, String[]> selections = shadowBuilder.getSelections(); 52 assertThat(selections.size(), is(2)); 53 assertThat(selections.get("first"), equalTo(new String[] { "a", "b" })); 54 assertThat(selections.get("second"), equalTo(new String[] { "c", "d" })); 55 } 56 57 @Test 58 public void withValueBackReference() { 59 builder.withValueBackReference("foo", 5); 60 61 int backReference = shadowBuilder.getWithValueBackReference("foo"); 62 assertThat(backReference, is(5)); 63 } 64 65 @Test 66 public void build() { 67 ContentProviderOperation operation = builder.build(); 68 assertThat(operation, notNullValue()); 69 } 70}