У меня есть словарь, который я использую, чтобы избежать написания больших операторов if. Он отображает перечисление на действие. Это выглядит следующим образом:Действие детермината тестового теста называется
var decisionMapper = new Dictionary<int, Action>
{
{
(int) ReviewStepType.StandardLetter,
() =>
caseDecisionService.ProcessSendStandardLetter(aCase)
},
{
(int) ReviewStepType.LetterWithComment,
() =>
caseDecisionService.ProcessSendStandardLetter(aCase)
},
{
(int) ReviewStepType.BespokeLetter,
() =>
caseDecisionService.ProcessSendBespokeLetter(aCase)
},
{
(int) ReviewStepType.AssignToCaseManager,
() =>
caseDecisionService.ProcessContinueAsCase(aCase)
},
};
тогда я называю это, как это в моем методе:
decisionMapper[(int) reviewDecisionRequest.ReviewStepType]();
Мой вопрос Как я могу модульного тестирования эти отображения? (я использую NUnit и C# 4.0)
Как я могу утверждать, что, когда я называю мой decisionMapper - что 1 равно -caseDecisionService.ProcessSendStandardLetter вызова (aCase).
Большое спасибо.
Какой тип ReviewStepType? Enum? Если вы можете Enum.GetValues () (а затем отбросить каждый из них до int). –
привет спасибо, да его перечисление. как это будет работать с тестом? Я хочу знать, что правильно выполнил мои сопоставления. – Sean