blob: b3343d4a8127595547e28ad18222ec90f4c3ec1e [file] [log] [blame]
package org.mockitousage.debugging;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.internal.debugging.InvocationsPrinter;
import org.mockitousage.IMethods;
import org.mockitoutil.TestBase;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
public class InvocationsPrinterTest extends TestBase {
@Mock IMethods mock;
@Test public void no_invocations() {
assertThat(new InvocationsPrinter().printInvocations(mock)).isEqualTo("No interactions and stubbings found for mock: mock");
}
@Test public void prints_invocations() {
mock.simpleMethod(100);
triggerInteraction();
assertThat(filterLineNo(new InvocationsPrinter().printInvocations(mock)))
.isEqualTo(filterLineNo("[Mockito] Interactions of: mock\n" +
" 1. mock.simpleMethod(100);\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.prints_invocations(InvocationsPrinterTest.java:0)\n" +
" 2. mock.otherMethod();\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerInteraction(InvocationsPrinterTest.java:0)\n"));
}
@Test public void prints_stubbings() {
triggerStubbing();
assertThat(filterLineNo(new InvocationsPrinter().printInvocations(mock)))
.isEqualTo(filterLineNo("[Mockito] Unused stubbings of: mock\n" +
" 1. mock.simpleMethod(\"a\");\n" +
" - stubbed -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerStubbing(InvocationsPrinterTest.java:70)\n"));
}
@Test public void prints_invocations_and_stubbings() {
triggerStubbing();
mock.simpleMethod("a");
triggerInteraction();
assertThat(filterLineNo(new InvocationsPrinter().printInvocations(mock)))
.isEqualTo(filterLineNo("[Mockito] Interactions of: mock\n" +
" 1. mock.simpleMethod(\"a\");\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.prints_invocations_and_stubbings(InvocationsPrinterTest.java:49)\n" +
" - stubbed -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerStubbing(InvocationsPrinterTest.java:73)\n" +
" 2. mock.otherMethod();\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerInteraction(InvocationsPrinterTest.java:34)\n"));
}
@Test public void prints_invocations_and_unused_stubbings() {
triggerStubbing();
mock.simpleMethod("b");
triggerInteraction();
assertThat(filterLineNo(new InvocationsPrinter().printInvocations(mock)))
.isEqualTo(filterLineNo("[Mockito] Interactions of: mock\n" +
" 1. mock.simpleMethod(\"b\");\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.prints_invocations_and_unused_stubbings(InvocationsPrinterTest.java:55)\n" +
" 2. mock.otherMethod();\n" +
" -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerInteraction(InvocationsPrinterTest.java:34)\n" +
"[Mockito] Unused stubbings of: mock\n" +
" 1. mock.simpleMethod(\"a\");\n" +
" - stubbed -> at org.mockitousage.debugging.InvocationsPrinterTest.triggerStubbing(InvocationsPrinterTest.java:62)\n"));
}
private void triggerInteraction() {
mock.otherMethod();
}
private void triggerStubbing() {
when(mock.simpleMethod("a")).thenReturn("x");
}
}