public void ShouldWorkNormally() { // Arrange string personName = "person1"; var simulationCase = BuildSimulationCase(); var person = BuildPerson(); decimal dailyResult = 10m; // // Act var sut = new AggregateRequestBuilder(); var result = sut.Build(simulationCase, person, dailyResult); // Assert Assert.Single(result.persons.Keys); Assert.Null(result.GetProp(personName, OF.TotalOTHours)); Assert.Equal(1, result.GetProp(personName, OF.NumHolidaysInPeriod)); Assert.Equal(0, result.GetProp(personName, OF.WeeklyBusHours)); Assert.Equal(7d, result.GetProp(personName, OF.WeeklyCmvoHours)); Assert.Equal(13d, result.GetProp(personName, OF.WeeklyHmvoHours)); Assert.Equal(16d, result.GetProp(personName, OF.WeeklyOtherHours)); Assert.Equal(8d, result.GetProp(personName, OF.StandardClcDailyHours)); Assert.Equal(40d, result.GetProp(personName, OF.StandardClcWeeklyHours)); Assert.Equal(9d, result.GetProp(personName, OF.StandardCmvoDailyHours)); Assert.Equal(45d, result.GetProp(personName, OF.StandardCmvoWeeklyHours)); Assert.Equal(10d, result.GetProp(personName, OF.StandardHmvoHolidayReduction)); Assert.Equal(60d, result.GetProp(personName, OF.StandardHmvoWeeklyHours)); Assert.Equal(10m, result.GetProp(personName, OF.DailyOTHours)); }
private MotorVehicleRuleExecutor GetSystem() { var restClient = new RestClient(); var openFiscaOptions = new OpenFiscaOptions() { Url = "https://openfiscacanada-dts-csps-main.dev.dts-stn.com" }; var options = Options.Create(openFiscaOptions); var openFiscaLib = new OpenFiscaLib(restClient, options); var dailyRequestBuilder = new DailyRequestBuilder(); var dailyResultExtractor = new DailyResultExtractor(); var aggregateRequestBuilder = new AggregateRequestBuilder(); var aggregateResultExtractor = new AggregateResultExtractor(); var executor = new MotorVehicleRuleExecutor(openFiscaLib, dailyRequestBuilder, aggregateRequestBuilder, dailyResultExtractor, aggregateResultExtractor); return(executor); }