私は、コスト履歴と最終的には予測を操作するプログラムを開発しています。
私が直面した問題は、シーズンの差異を取り除くためにコスト履歴で使用される修飾子を計算したいということです。それらを計算するには2つの異なる方法が必要ですが、加算ではなく乗算になる場所を除いて、これら2つはほぼ同じです。
例は次のとおりです。
private void CalculAndSumEveryPeriodeModifier()
{
List<double> averages = MovingAverage.Averages;
for (int i = 0; i < averages.Count; ++i)
{
averages[i] = costsList[i + NbPeriode / 2] / averages[i] // Division changed to substraction
modifiers[((i + NbPeriode / 2) % NbPeriode)] += averages[i];
}
}
私は、2つのdoubleを取るプライベート抽象メソッドを持つ抽象クラスで試みました。次に、具象クラスはこのメソッドを実装して、アルゴリズムの特定のポイントで倍精度を除算または減算できます。
このアプローチの問題は、ユニットテストの方法がわからないことです。はいの場合、moqフレームワークを使用して抽象クラスをテストできますか?それ以外の場合は、テストが同じになるため、コードを複製する両方の具象クラスをテストする必要があります。
私の試みをユニットテストする方法はありますか、それともより良いアプローチがありますか?
ケビン