public void ShouldWorkNormally() { // Arrange var simulationCase = BuildSimulationCase(); var person = BuildPerson(); // Act var sut = new DailyRequestBuilder(); var result = sut.Build(simulationCase, person); // Assert // Day 1 Assert.Equal(2, result.persons.Keys.Count); Assert.Null(result.GetProp("day_1", OF.DailyOTHours)); Assert.Equal(0, result.GetProp("day_1", OF.DailyBusHours)); Assert.Equal(1d, result.GetProp("day_1", OF.DailyCmvoHours)); Assert.Equal(2d, result.GetProp("day_1", OF.DailyHmvoHours)); Assert.Equal(3d, result.GetProp("day_1", OF.DailyOtherHours)); Assert.Equal(8d, result.GetProp("day_1", OF.StandardClcDailyHours)); Assert.Equal(9d, result.GetProp("day_1", OF.StandardCmvoDailyHours)); // Day 2 Assert.Null(result.GetProp("day_2", OF.DailyOTHours)); Assert.Equal(0, result.GetProp("day_2", OF.DailyBusHours)); Assert.Equal(4d, result.GetProp("day_2", OF.DailyCmvoHours)); Assert.Equal(5d, result.GetProp("day_2", OF.DailyHmvoHours)); Assert.Equal(6d, result.GetProp("day_2", OF.DailyOtherHours)); Assert.Equal(8d, result.GetProp("day_2", OF.StandardClcDailyHours)); Assert.Equal(9d, result.GetProp("day_2", OF.StandardCmvoDailyHours)); }
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); }