package com.artemzin.qualitymatters.other;
import com.artemzin.qualitymatters.performance.AsyncJob;
import com.artemzin.qualitymatters.performance.AsyncJobsObserver;
import org.junit.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
public class FinishAsyncJobSubscriptionTest {
@Test
public void constructor_shouldCreateSuchActionThatWillUnregisterAsyncJob() {
AsyncJobsObserver asyncJobsObserver = mock(AsyncJobsObserver.class);
AsyncJob asyncJob = mock(AsyncJob.class);
DisposableSubscription disposableSubscription = new FinishAsyncJobSubscription(asyncJobsObserver, asyncJob);
verifyZeroInteractions(asyncJobsObserver, asyncJob);
disposableSubscription.unsubscribe();
verify(asyncJobsObserver).asyncJobFinished(asyncJob);
}
}