package com.stanfy.enroscar.async.internal;
import com.stanfy.enroscar.async.BuildConfig;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static org.mockito.Mockito.mock;
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = android.os.Build.VERSION_CODES.JELLY_BEAN_MR2)
public class ObserverCallbacksTest {
private ObserverCallbacks<Thing> callbacks;
@Before
public void init() {
callbacks = new ObserverCallbacks<>(
mock(AsyncProvider.class),
new OperatorBase.OperatorContext<>(),
mock(LoaderDescription.class),
1,
false
);
}
@Test
public void throwIfNoCallbacks() {
Exception e = new Exception("test");
try {
callbacks.onLoadFinished(null, new WrapAsyncLoader.Result<Thing>(null, e));
fail("Error not thrown");
} catch (Exception thrown) {
assertThat(thrown.getCause()).isSameAs(e);
}
}
}