コード例 #1
0
        public decimal CalculateWage(int id)
        {
            //if (!_gateway.Connected)
            //{
            //    return 0;
            //}
            WorkingStatistics ws = null;

            try
            {
                ws = _gateway.GetWorkingStatistics(id);
            }
            catch (Exception ex)
            {
                return(0);
            }
            decimal wage;

            if (ws.PayHourly)
            {
                wage = ws.WorkingHours * ws.HourSalary;
            }
            else
            {
                wage = ws.MonthSalary;
            }
            _logger.Info($"Customer ID={id}, Wage:{wage}");

            return(wage);
        }
コード例 #2
0
        public void CalculateWage_HourlyPayed_ReturnsCorrectWage()
        {
            var gateway           = Substitute.For <IDbGateway>();
            var workingStatistics = new WorkingStatistics()
            {
                PayHourly = true, HourSalary = 100, WorkingHours = 10
            };

            gateway.GetWorkingStatistics(Arg.Any <int>()).ReturnsForAnyArgs(workingStatistics);

            const decimal expectedWage = 100 * 10;
            var           sut          = new Customer(gateway, Substitute.For <ILogger>());

            decimal actual = sut.CalculateWage(Arg.Any <int>());

            Assert.That(actual, Is.EqualTo(expectedWage).Within(0.1));
        }
コード例 #3
0
        public decimal CalculateWage(int id)
        {
            WorkingStatistics ws = _gateway.GetWorkingStatistics(id);

            decimal wage;

            if (ws.PaytHourly)
            {
                wage = ws.WorkingHours * ws.HourSalary;
            }
            else
            {
                wage = ws.MonthlySalary;
            }

            _logger.Info($"Customer ID={id}, Wage:{wage}");
            return(wage);
        }
コード例 #4
0
 public void SetWorkingStatistics(WorkingStatistics ws)
 {
     _ws = ws;
 }
コード例 #5
0
ファイル: DbGatewayStub.cs プロジェクト: vjpal3/C-Sharp-TDD
 public void SetWorkingStatistic(WorkingStatistics ws)
 {
     this.ws = ws;
 }