blob: 8c0a5ae3a17c64ecb822aa8f36b4b6d07420cddc [file] [log] [blame]
package org.mockito.internal.session;
import org.junit.After;
import org.junit.Test;
import org.mockito.StateMaster;
import org.mockito.exceptions.misusing.UnfinishedMockingSessionException;
import org.mockito.quality.Strictness;
import org.mockitoutil.ThrowableAssert;
public class DefaultMockitoSessionBuilderTest {
@After public void after() {
new StateMaster().clearMockitoListeners();
}
@Test public void creates_sessions() throws Exception {
//no configuration is legal
new DefaultMockitoSessionBuilder().startMocking().finishMocking();
//passing null to configuration is legal, default value will be used
new DefaultMockitoSessionBuilder().initMocks(null).startMocking().finishMocking();
new DefaultMockitoSessionBuilder().initMocks(null).strictness(null).startMocking().finishMocking();
new DefaultMockitoSessionBuilder().strictness(null).startMocking().finishMocking();
//happy path
new DefaultMockitoSessionBuilder().initMocks(this).startMocking().finishMocking();
new DefaultMockitoSessionBuilder().initMocks(new Object()).startMocking().finishMocking();
new DefaultMockitoSessionBuilder().strictness(Strictness.LENIENT).startMocking().finishMocking();
}
@Test public void requires_finish_mocking() throws Exception {
new DefaultMockitoSessionBuilder().startMocking();
ThrowableAssert.assertThat(new Runnable() {
public void run() {
new DefaultMockitoSessionBuilder().startMocking();
}
}).throwsException(UnfinishedMockingSessionException.class);
}
}