Как заглушить метод в рамках Fakes, чтобы возвращаемое значение изменялось в зависимости от значения параметра?Опоры с переменным параметром
Например, с учетом следующего интерфейса и теста, как создать заглушку в случае, когда value = 1, чтобы возвращаемое значение = «A», а когда значение = 2, возвращаемое значение = «B»:
public interface ISimple
{
string GetResult(int value);
}
public class Sut
{
ISimple simple;
public Sut(ISimple simple)
{
this.simple = simple;
}
public string Execute(int value)
{
return this.simple.GetResult(value);
}
}
[TestMethod]
public void Test()
{
StubISimple simpleStub = new StubISimple();
simpleStub.GetResultInt32 = (value) => { return "A";} // Always returns "A"
var sut = new Sut(simpleStub);
// OK
var result = sut.Execute(1)
Assert.AreEqual("A", result);
// Fail
result = sut.Execute(2);
Assert.AreEqual("B", result);
}
Возможно ли это?