package co.smartreceipts.android.persistence.database.controllers.impl; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import java.util.Collections; import co.smartreceipts.android.model.Receipt; import co.smartreceipts.android.model.Trip; import co.smartreceipts.android.persistence.database.controllers.TableController; import co.smartreceipts.android.persistence.database.operations.DatabaseOperationMetadata; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; @RunWith(RobolectricTestRunner.class) public class ReceiptRefreshTripPricesListenerTest { // Class under test ReceiptRefreshTripPricesListener mReceiptRefreshTripPricesListener; @Mock TableController<Trip> mTripTableController; @Mock Receipt mReceipt; @Mock Trip mTrip; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mReceiptRefreshTripPricesListener = new ReceiptRefreshTripPricesListener(mTripTableController); } @Test public void onGetSuccess() { mReceiptRefreshTripPricesListener.onGetSuccess(Collections.<Receipt>emptyList(), mTrip); verifyZeroInteractions(mTripTableController); } @Test public void onGetFailure() { mReceiptRefreshTripPricesListener.onGetFailure(null, mTrip); verifyZeroInteractions(mTripTableController); } @Test public void onCopySuccess() { mReceiptRefreshTripPricesListener.onCopySuccess(mReceipt, mReceipt); verify(mTripTableController).get(); } @Test public void onCopyFailure() { mReceiptRefreshTripPricesListener.onCopyFailure(mReceipt, null); verifyZeroInteractions(mTripTableController); } @Test public void onMoveSuccess() { mReceiptRefreshTripPricesListener.onMoveSuccess(mReceipt, mReceipt); verify(mTripTableController).get(); } @Test public void onMoveFailure() { mReceiptRefreshTripPricesListener.onUpdateFailure(mReceipt, null, new DatabaseOperationMetadata()); verifyZeroInteractions(mTripTableController); } @Test public void onSwapSuccess() { mReceiptRefreshTripPricesListener.onSwapSuccess(); verifyZeroInteractions(mTripTableController); } @Test public void onSwapFailure() { mReceiptRefreshTripPricesListener.onSwapFailure(null); verifyZeroInteractions(mTripTableController); } }