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);
        }