大きな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のを使用しています#4.0 C)
どのように私は私のdecisionMapper呼び出すときと主張することができます - 1は、コール-caseDecisionService.ProcessSendStandardLetter(aCase)に等しいこと。
ありがとうございました。
どのようなタイプがReviewStepTypeですか?列挙? Enum.GetValues()を実行できる場合は(それぞれをintにキャストします)。 –
こんにちは、ありがとう、はいその列挙型。それはどのようにテストで動作しますか?私は正しく私のマッピングを完了したことを知りたい。これのために – Sean