public void Calculates_overtime_hours_as_hours_additional_to_contracted()
        {
            var hoursWorked = new Hours(40);
            var contractedHours = new Hours(35);

            // wrap with Micro Types for contextual explicitness
            var hoursWorkedx = new HoursWorked(hoursWorked);
            var contractedHoursx = new ContractedHours(contractedHours);

            var fiveHours = new Hours(5);
            var fiveHoursOvertime = new OvertimeHours(fiveHours);

            var result = new OvertimeCalculator().Calculate(hoursWorkedx, contractedHoursx);
            Assert.AreEqual(fiveHoursOvertime, result);
        }
        public void Calculates_overtime_hours_as_hours_additional_to_contracted()
        {
            var hoursWorked     = new Hours(40);
            var contractedHours = new Hours(35);

            // wrap with Micro Types for contextual explicitness
            var hoursWorkedx     = new HoursWorked(hoursWorked);
            var contractedHoursx = new ContractedHours(contractedHours);

            var fiveHours         = new Hours(5);
            var fiveHoursOvertime = new OvertimeHours(fiveHours);

            var result = new OvertimeCalculator().Calculate(hoursWorkedx, contractedHoursx);

            Assert.AreEqual(fiveHoursOvertime, result);
        }
 public OvertimeHours Calculate(HoursWorked worked, ContractedHours contracted)
 {
     var overtimeHours = worked.Hours - contracted.Hours;
     return new OvertimeHours(overtimeHours);
 }
        public OvertimeHours Calculate(HoursWorked worked, ContractedHours contracted)
        {
            var overtimeHours = worked.Hours - contracted.Hours;

            return(new OvertimeHours(overtimeHours));
        }