コード例 #1
0
        /// <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);
        }
コード例 #2
0
 public string GetCalculatorInfo(CalculatorInfo calculatorInfo)
 {
     if (calculatorInfo.Model == null || calculatorInfo.Model == String.Empty)
     {
         throw new ArgumentNullException(nameof(calculatorInfo));
     }
     return(calculatorInfo.GetCalculatorInfo());
 }
コード例 #3
0
 public CalculatorManagerUnitTest(ITestOutputHelper helper)
 {
     _outputLog = helper;
     manager    = new CalculatorManager();
     info       = new CalculatorInfo()
     {
         Model = "",
         Year  = "2020",
         ManufacturingBrand = "SISCO"
     };
 }
コード例 #4
0
        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));
        }