package org.robolectric.shadows; import android.content.ContentValues; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.TestRunners; import static org.assertj.core.api.Assertions.assertThat; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowContentValuesTest { private static final String KEY = "key"; private ContentValues contentValues; @Before public void setUp() { contentValues = new ContentValues(); } @Test public void shouldBeEqualIfContentValuesAreEquivalent() { ContentValues valuesA = new ContentValues(); assertThat(valuesA).isEqualTo(valuesA); } @Test public void shouldBeEqualIfBothContentValuesAreEmpty() { ContentValues valuesA = new ContentValues(); ContentValues valuesB = new ContentValues(); assertThat(valuesA).isEqualTo(valuesB); } @Test public void shouldBeEqualIfBothContentValuesHaveSameValues() { ContentValues valuesA = new ContentValues(); valuesA.put("String", "A"); valuesA.put("Integer", 23); valuesA.put("Boolean", false); ContentValues valuesB = new ContentValues(); valuesB.putAll(valuesA); assertThat(valuesA).isEqualTo(valuesB); } @Test public void shouldNotBeEqualIfContentValuesHaveDifferentValue() { ContentValues valuesA = new ContentValues(); valuesA.put("String", "A"); ContentValues valuesB = new ContentValues(); assertThat(valuesA).isNotEqualTo(valuesB); valuesB.put("String", "B"); assertThat(valuesA).isNotEqualTo(valuesB); } @Test public void getAsBoolean_zero() { contentValues.put(KEY, 0); assertThat(contentValues.getAsBoolean(KEY)).isFalse(); } @Test public void getAsBoolean_one() { contentValues.put(KEY, 1); assertThat(contentValues.getAsBoolean(KEY)).isTrue(); } @Test public void getAsBoolean_false() { contentValues.put(KEY, false); assertThat(contentValues.getAsBoolean(KEY)).isFalse(); } @Test public void getAsBoolean_true() { contentValues.put(KEY, true); assertThat(contentValues.getAsBoolean(KEY)).isTrue(); } @Test public void getAsBoolean_falseString() { contentValues.put(KEY, "false"); assertThat(contentValues.getAsBoolean(KEY)).isFalse(); } @Test public void getAsBoolean_trueString() { contentValues.put(KEY, "true"); assertThat(contentValues.getAsBoolean(KEY)).isTrue(); } }