blob: 9caed65965b72a4be5d4e21fdf57ba5e576f30d6 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.stubbing.answers;
import org.junit.Test;
import org.mockito.exceptions.misusing.WrongTypeOfReturnValue;
import org.mockito.internal.invocation.InvocationBuilder;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
public class DefaultAnswerValidatorTest {
@Test
public void should_fail_if_returned_value_of_answer_is_incompatible_with_return_type() throws Throwable {
// given
class AWrongType {
}
try {
// when
DefaultAnswerValidator.validateReturnValueFor(new InvocationBuilder().method("toString").toInvocation(),
new AWrongType());
fail("expected validation to fail");
} catch (WrongTypeOfReturnValue e) {
// then
assertThat(e.getMessage())
.containsIgnoringCase("Default answer returned a result with the wrong type")
.containsIgnoringCase("AWrongType cannot be returned by toString()")
.containsIgnoringCase("toString() should return String");
}
}
@Test
public void should_not_fail_if_returned_value_of_answer_is_null() throws Throwable {
DefaultAnswerValidator.validateReturnValueFor(new InvocationBuilder().method("toString").toInvocation(),
null);
}
}