Класс SalaryManager имеет метод с именем DoCalculation, который вызывает метод GetSum, который реализуется с использованием заводского шаблона. Метод DoCalculation также выполняет некоторую другую операцию, кроме вызова метода GetSum. Я хочу, чтобы модуль тестировал метод DoCalculation, издеваясь над вызовом GetSum(). Может ли кто-нибудь предложить лучший способ реализовать это в Moq насмехаясь. Ниже приведен пример кода,Лучший способ тестирования модуля moq C# класс библиотеки проекта
interface ICalc
{
int GetSum(int a, int b);
}
class NormalCalc : ICalc
{
public int GetSum(int a,int b)
{
return a + b;
}
}
class SumFactory
{
public static ICalc GetSumObject(int option)
{
if (option == 1)
return new NormalCalc();
return null;
}
}
class SalaryManager
{
private static ICalc CalcRef = SumFactory.GetSumObject(1);
public int DoCalculation(int a, int b)
{
int Sum=CalcRef.GetSum(a, b);
//Perform some other operation
//
//
}
}