package com.pivotallabs; import org.junit.Before; import org.junit.Test; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; public class MultiCallbacksTest { private TestCallbacks testCallbacks0; private TestCallbacks testCallbacks1; private MultiCallbacks multiCallbacks; @Before public void setUp() throws Exception { testCallbacks0 = new TestCallbacks(); testCallbacks1 = new TestCallbacks(); multiCallbacks = new MultiCallbacks(testCallbacks1, testCallbacks0); } @Test public void onStart_shouldCallThroughToAllProvidedCallbacks() throws Exception { multiCallbacks.onStart(); assertThat(testCallbacks0.startWasCalled, equalTo(true)); assertThat(testCallbacks1.startWasCalled, equalTo(true)); } @Test public void onSuccess_shouldCallThroughToAllProvidedCallbacks() throws Exception { multiCallbacks.onSuccess(); assertThat(testCallbacks0.successWasCalled, equalTo(true)); assertThat(testCallbacks1.successWasCalled, equalTo(true)); } @Test public void onFailure_shouldCallThroughToAllProvidedCallbacks() throws Exception { multiCallbacks.onFailure(); assertThat(testCallbacks0.failureWasCalled, equalTo(true)); assertThat(testCallbacks1.failureWasCalled, equalTo(true)); } @Test public void onComplete_shouldCallThroughToAllProvidedCallbacks() throws Exception { multiCallbacks.onComplete(); assertThat(testCallbacks0.completeWasCalled, equalTo(true)); assertThat(testCallbacks1.completeWasCalled, equalTo(true)); } }