だから私はこのようなコードを少し持っています:
enum Decision
{
DecisionA,
DecisionB,
...
}
public void DoStuff(Decision d)
{
switch(d)
{
case Decision.DecisionA:
....
...
}
}
基本的DoStuff
に は、決定が何であれ同じことを行いますが、決定は、それが行うことをより最適化するために使用されます (より高速または何でも)。
ここで、DoStuff の単体テストを実装したいと思います。次のような配列を使用して、すべての決定が適切に機能することをテストするのはかなり簡単ですが、決定new Decision[]{DecisionA, DecisionB, ...};
を追加する場合は、戻って手動で単体テストに追加する必要があります。
で指定されたすべての可能なオプションにアクセスすることは可能enum
ですか? たとえば、次のようなものです。
foreach(var d in Decision.Options)
{
//d will be DecisionA, and then DecisionB, etc etc
}