Условное возвращаемое значение Moq с использованием лямбды - PullRequest
24 голосов
/ 24 февраля 2012

Можно ли вернуть разные результаты на основе ввода, как в

MoqSecurityAdminHelper.Setup(x => x.GetAllQuestions(It.IsAny<Boolean>()))
    .Returns(new Dictionary<String, String>
    {
        {"Key1", "Value1"},
        {"Key2", "Value2"}
    });

но если аргумент равен true, вернуть один результат, если false ... другой.

Или это единственный способ сделать это с двумя отдельными настройками?

Спасибо

1 Ответ

30 голосов
/ 24 февраля 2012
MoqSecurityAdminHelper.Setup(x => x.GetAllQuestions(It.IsAny<Boolean>()))
                      .Returns((bool param) => param ? 
                                          someResult : 
                                          someOtherResult );
...