Привет, я пытаюсь создать макет метода класса с двумя возможными входными данными. Когда я проверяю вывод, только последняя настройка возвращает ожидаемый результат. Первый этого не сделал. Любая помощь очень ценится.
[Test]
public void ClimbOnceTwoNeighbour_Sample()
{
stateConverter = new Mock();
solution = new Mock();
state = new Mock();
var neightbourSolution1 = new Mock();
var neighbourState1 = new Mock();
var neightbourSolution2 = new Mock();
var neighbourState2 = new Mock();
stateConverter.Setup(x => x.FromSolution(neightbourSolution1.Object, It.IsAny())).Returns(neighbourState1.Object);
stateConverter.Setup(x => x.FromSolution(neightbourSolution2.Object, It.IsAny())).Returns(neighbourState2.Object);
var state1 = stateConverter.Object.FromSolution(neightbourSolution1.Object, state.Object);//return null ????
var state2 = stateConverter.Object.FromSolution(neightbourSolution2.Object, state.Object);//return neighbourState2.Object)
Assert.AreEqual(neighbourState2.Object, state2);//pass test here
Assert.AreEqual(neighbourState1.Object, state1);//fail here due to null is returned from previous statement
}