/// <summary> /// Gets the calculator for the given activity. /// </summary> /// <typeparam name="T">The type of the calculator to get.</typeparam> /// <param name="activity">The name of the activity.</param> private T GetKpiCalculator <T>(string activity) where T : PerformanceCalculatorBase { CalculatorInfo newCalculatorInfo = m_calculatorsDict.GetOrAdd( activity, (key) => { PerformanceCalculatorBase newCalculator = Activator.CreateInstance(typeof(T), activity) as PerformanceCalculatorBase; newCalculator.Parent = this; CalculatorInfo calcInfo = new CalculatorInfo(newCalculator); m_calculatorsBag.Add(calcInfo); return(calcInfo); }); if ((newCalculatorInfo == null) || (newCalculatorInfo.Calculator == null)) { throw new SeeingSharpException("Unable to create a calculator of type " + typeof(T) + " for activity " + activity + "!"); } T result = newCalculatorInfo.Calculator as T; if (result == null) { throw new SeeingSharpException("Unable to create a calculator of type " + typeof(T) + " for activity " + activity + "!"); } return(result); }
public string GetCalculatorInfo(CalculatorInfo calculatorInfo) { if (calculatorInfo.Model == null || calculatorInfo.Model == String.Empty) { throw new ArgumentNullException(nameof(calculatorInfo)); } return(calculatorInfo.GetCalculatorInfo()); }
public CalculatorManagerUnitTest(ITestOutputHelper helper) { _outputLog = helper; manager = new CalculatorManager(); info = new CalculatorInfo() { Model = "", Year = "2020", ManufacturingBrand = "SISCO" }; }
public void Is_Correct_Data_Type_Checking_for_GetCalculatorInfo() { _outputLog.WriteLine("Is_Correct_Data_Type_Checking_for_GetCalculatorInfo"); var info = new CalculatorInfo() { Model = "C101", Year = "2020", ManufacturingBrand = "SISCO" }; Assert.IsType <string>(manager.GetCalculatorInfo(info)); }