Example #1
0
        public void VerifyConfigThrowException()
        {
            var ccf = CalculatorFactory.Build <TKey>();

            if (ccf.Gt(PerLoadSize, TotalLoadSize))
            {
                throw new ArgumentException("expect: PerLoadSize < TotalLoadSize");
            }
            if (ccf.Gt(TotalLoadSize, TotalCacheSize))
            {
                throw new ArgumentException("expect: TotalLoadSize < TotalCacheSize");
            }
            if (ccf.Gt(TotalCacheSize, ccf.Subtract(EndPoint, StartPoint)))
            {
                throw new ArgumentException("expect: TotalCacheSize < (EndPoint - StartPoint)");
            }

            if (ForwardAndBackwardScale < 0)
            {
                throw new ArgumentException("expect: ForwardAndBackwardScale > 0");
            }

            if (LoadTriggerFrequency < 0 || LoadTriggerFrequency > 1)
            {
                throw new ArgumentException("expect: 0<= LoadTriggerFrequency <= 1");
            }
            if (RemoveTriggerFrequency < 0 || RemoveTriggerFrequency > 1)
            {
                throw new ArgumentException("expect: 0<= RemoveTriggerFrequency <= 1");
            }
        }
Example #2
0
        public void TestCalculatorMonth()
        {
            CalculatorFactory factory = new CalculatorFactory();
            var calculator            = factory.Build("MONTHLYSALARYEMPLOYEE");
            var result = calculator.Calculate(new Employe {
                MonthlySalary = 30
            });

            Assert.AreEqual(360, result);
        }
Example #3
0
        public void TestCalculatorHour()
        {
            CalculatorFactory factory = new CalculatorFactory();
            var calculator            = factory.Build("HOURLYSALARYEMPLOYEE");
            var result = calculator.Calculate(new Employe {
                HourlySalary = 30
            });

            Assert.AreEqual(43200, result);
        }
        private EmployeDTO Transform(Employe employee)
        {
            var dto = new EmployeDTO()
            {
                Id              = employee.Id,
                Name            = employee.Name,
                ContractType    = employee.ContractType,
                RoleId          = employee.RoleId,
                RoleName        = employee.RoleName,
                RoleDescription = employee.RoleDescription,
            };

            var calculator = _factory.Build(dto.ContractType);

            dto.CalculatedSalary = calculator.Calculate(employee);
            return(dto);
        }
 public CacheKeyHelper(ISlidingWindowConfig <TKey> config)
 {
     _config     = config;
     _calculator = CalculatorFactory.Build <TKey>();
 }