package co.smartreceipts.android.widget.model; import android.os.Parcel; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import co.smartreceipts.android.model.impl.DefaultReceiptImpl; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.*; @RunWith(RobolectricTestRunner.class) public class UiIndicatorTest { @Test public void idle() throws Exception { final UiIndicator uiIndicator = UiIndicator.idle(); assertEquals(UiIndicator.State.Idle, uiIndicator.getState()); assertEquals(null, uiIndicator.getMessage().orNull()); } @Test public void loading() throws Exception { final UiIndicator uiIndicator = UiIndicator.loading(); assertEquals(UiIndicator.State.Loading, uiIndicator.getState()); assertEquals(null, uiIndicator.getMessage().orNull()); } @Test public void error() throws Exception { final UiIndicator uiIndicator = UiIndicator.error(); assertEquals(UiIndicator.State.Error, uiIndicator.getState()); assertEquals(null, uiIndicator.getMessage().orNull()); } @Test public void errorWithMessage() throws Exception { final UiIndicator uiIndicator = UiIndicator.error("test"); assertEquals(UiIndicator.State.Error, uiIndicator.getState()); assertEquals("test", uiIndicator.getMessage().orNull()); } @Test public void success() throws Exception { final UiIndicator uiIndicator = UiIndicator.success(); assertEquals(UiIndicator.State.Succcess, uiIndicator.getState()); assertEquals(null, uiIndicator.getMessage().orNull()); } @Test public void successWithMessage() throws Exception { final UiIndicator uiIndicator = UiIndicator.success("test"); assertEquals(UiIndicator.State.Succcess, uiIndicator.getState()); assertEquals("test", uiIndicator.getMessage().orNull()); } @Test public void parcelEquality() { final UiIndicator errorIndicator = UiIndicator.error("test"); final Parcel errorParcel = Parcel.obtain(); errorIndicator.writeToParcel(errorParcel, 0); errorParcel.setDataPosition(0); assertEquals(errorIndicator, UiIndicator.CREATOR.createFromParcel(errorParcel)); final UiIndicator idleIndicator = UiIndicator.idle(); final Parcel idleParcel = Parcel.obtain(); idleIndicator.writeToParcel(idleParcel, 0); idleParcel.setDataPosition(0); assertEquals(idleIndicator, UiIndicator.CREATOR.createFromParcel(idleParcel)); } }