public void TestTourWrapper2() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.BUSINESS; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; Tour subtour = new Tour(); TourWrapper tour = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); TourWrapper wrapper = new TourWrapper(subtour, tour); Assert.Equal(tour, wrapper.ParentTour); Assert.Equal(1261, wrapper.DestinationDepartureTime); Assert.Equal(1261, wrapper.DestinationArrivalTime); Assert.Equal(0, wrapper.DestinationPurpose); Assert.Equal(null, wrapper.DestinationParcel); Assert.Equal(null, wrapper.OriginParcel); Assert.Equal(person, wrapper.Person); Assert.Equal(personDay, wrapper.PersonDay); Assert.Equal(0, wrapper.DestinationAddressType); Assert.Equal(null, wrapper.DestinationArrivalBigPeriod); Assert.Equal(false, wrapper.DestinationModeAndTimeHaveBeenSimulated); Assert.Equal(0, wrapper.DestinationParcelId); Assert.Equal(0, wrapper.DestinationZoneKey); Assert.Equal(0, wrapper.EarliestOriginDepartureTime); Assert.Equal(0, wrapper.FullHalfTour1Sequence); Assert.Equal(0, wrapper.FullHalfTour2Sequence); Assert.Equal(null, wrapper.GetHalfTour(Constants.TourDirection.DESTINATION_TO_ORIGIN)); Assert.Equal(null, wrapper.GetHalfTour(Constants.TourDirection.ORIGIN_TO_DESTINATION)); Assert.Equal(false, wrapper.HalfTour1HasBeenSimulated); Assert.Equal(0, wrapper.HalfTour1Trips); Assert.Equal(false, wrapper.HalfTour2HasBeenSimulated); Assert.Equal(0, wrapper.HalfTour2Trips); // Assert.Equal(false, wrapper.HasSubtours); Assert.Equal(0, wrapper.IndicatedTravelTimeFromDestination); Assert.Equal(0, wrapper.IndicatedTravelTimeToDestination); Assert.Equal(false, wrapper.IsHomeBasedTour); Assert.Equal(false, wrapper.IsMissingData); Assert.Equal(false, wrapper.IsParkAndRideMode); }
public void TestTourWrapperTimeCoefficient() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.SCHOOL; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Work = .76; Global.Configuration.Coefficients_MeanTimeCoefficient_Work = .46; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; TourWrapper wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(.45, wrapper.TimeCoefficient); destinationPurpose = Constants.Purpose.WORK; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(.46, wrapper.TimeCoefficient); Global.Configuration.UseRandomVotDistribution = true; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(.46, wrapper.TimeCoefficient); //This constructor suppresses randomVOT person = TestHelper.GetPersonWrapper(); personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); destinationPurpose = Constants.Purpose.BUSINESS; Tour tour = new Tour(); wrapper = new TourWrapper(tour, personDay, destinationPurpose, false); Assert.Equal(-.001, wrapper.TimeCoefficient); //This constructor does not suppress randomVOT Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Work = .8; Global.Configuration.Coefficients_MeanTimeCoefficient_Work = -.03; person = TestHelper.GetPersonWrapper(); personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); destinationPurpose = Constants.Purpose.WORK; tour = new Tour(); wrapper = new TourWrapper(tour, personDay, destinationPurpose, false); Assert.Equal(-.0303002, Math.Round(wrapper.TimeCoefficient, 7)); //This constructor does not suppress randomVOT }
public static TourWrapper GetTourWrapper() { PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.BUSINESS; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; TourWrapper wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); return(wrapper); }
public void TestAutoOwnershipModel() { Global.Configuration = new Configuration { NProcessors = 1 }; ParallelUtility.Init(); Global.Configuration.AutoOwnershipModelCoefficients = "c:\\a.txt"; ParallelUtility.Register(Thread.CurrentThread.ManagedThreadId, 0); List <IPerson> persons = new List <IPerson> { new Person() }; CondensedParcel residenceParcel = new CondensedParcel(); HouseholdWrapper household = TestHelper.GetHouseholdWrapper(persons, residenceParcel: residenceParcel); household.Init(); AutoOwnershipModel model = new AutoOwnershipModel(); model.RunInitialize(new TestCoefficientsReader()); model.Run(household); }
public void TestAutoOwnershipModelNullHouseholdException() { Global.Configuration = new Configuration { NProcessors = 1 }; ParallelUtility.Init(); Global.Configuration.AutoOwnershipModelCoefficients = "c:\\a.txt"; ParallelUtility.Register(Thread.CurrentThread.ManagedThreadId, 0); List <IPerson> persons = new List <IPerson> { new Person() }; CondensedParcel residenceParcel = new CondensedParcel(); HouseholdWrapper household = TestHelper.GetHouseholdWrapper(persons, residenceParcel: residenceParcel); household.Init(); AutoOwnershipModel model = new AutoOwnershipModel(); model.RunInitialize(new TestCoefficientsReader()); ArgumentNullException ex = Assert.Throws <ArgumentNullException>(() => model.Run(null)); Assert.Equal("Value cannot be null.\r\nParameter name: household", ex.Message); }
public void TestTourWrapperCostCoefficient() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.BUSINESS; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; TourWrapper wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(5, wrapper.CostCoefficient); Global.Configuration.Coefficients_CostCoefficientIncomePower_Other = 2; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(5, wrapper.CostCoefficient); person = TestHelper.GetPersonWrapper(income: 50000); personDay = TestHelper.GetPersonDayWrapper(income: 50000); wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(1.25, wrapper.CostCoefficient); Global.Configuration.Coefficients_CostCoefficientIncomePower_Other = 8; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(5.0 / 256.0, wrapper.CostCoefficient); }
public void TestPersonWrapper() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; int autoDistanceToUsualSchool = 1; int autoDistanceToUsualWork = 2; int autoTimeToUsualSchool = 3; int autoTimeToUsualWork = 4; int gender = 2; int id = 99; int paperDiary = 5; int payParkingAtWorkplace = 1; int personType = Constants.PersonType.CHILD_UNDER_5; int proxyResponse = 6; int sequence = 7; int transitPassOwnershipFlag = 1; int usualArrivalPeriodToWork = 2; int usualDeparturePeriodFromWork = 3; int usualModeToWork = 4; CondensedParcel usualSchoolParcel = new CondensedParcel(); int usualSchoolParcelId = 5; int usualSchoolZoneKey = 6; CondensedParcel usualWorkParcel = new CondensedParcel(); int usualWorkParcelId = 7; int usualWorkZoneKey = 8; bool worksAtHome = false; List <IPerson> persons = new List <IPerson>() { new Person() { AutoDistanceToUsualSchool = autoDistanceToUsualSchool, AutoDistanceToUsualWork = autoDistanceToUsualWork, AutoTimeToUsualSchool = autoTimeToUsualSchool, AutoTimeToUsualWork = autoTimeToUsualWork, Gender = gender, Id = id, PaperDiary = paperDiary, PaidParkingAtWorkplace = payParkingAtWorkplace, PersonType = personType, ProxyResponse = proxyResponse, Sequence = sequence, TransitPassOwnership = transitPassOwnershipFlag, UsualArrivalPeriodToWork = usualArrivalPeriodToWork, UsualDeparturePeriodFromWork = usualDeparturePeriodFromWork, UsualModeToWork = usualModeToWork, UsualSchoolParcelId = usualSchoolParcelId, UsualSchoolZoneKey = usualSchoolZoneKey, UsualWorkParcelId = usualWorkParcelId, UsualWorkZoneKey = usualWorkZoneKey, } }; HouseholdWrapper household = TestHelper.GetHouseholdWrapper(persons); PersonWrapper wrapper = new PersonWrapper(persons[0], household) { UsualSchoolParcel = usualSchoolParcel, UsualWorkParcel = usualWorkParcel }; //TestHelper.GetPersonWrapper(age: 37, personType: Constants.PersonType.FULL_TIME_WORKER, // gender: 1, workerType: 1, studentType: 0, persons:persons); Assert.Equal(autoDistanceToUsualSchool, wrapper.AutoDistanceToUsualSchool); Assert.Equal(autoDistanceToUsualWork, wrapper.AutoDistanceToUsualWork); Assert.Equal(autoTimeToUsualSchool, wrapper.AutoTimeToUsualSchool); Assert.Equal(autoTimeToUsualWork, wrapper.AutoTimeToUsualWork); Assert.Equal(gender, wrapper.Gender); Assert.Equal(household, wrapper.Household); Assert.Equal(id, wrapper.Id); Assert.Equal(paperDiary, wrapper.PaperDiary); Assert.Equal(payParkingAtWorkplace, wrapper.PayToParkAtWorkplaceFlag); Assert.Equal(personType, wrapper.PersonType); Assert.Equal(proxyResponse, wrapper.ProxyResponse); Assert.Equal(sequence, wrapper.Sequence); Assert.Equal(transitPassOwnershipFlag, wrapper.TransitPassOwnershipFlag); Assert.Equal(usualArrivalPeriodToWork, wrapper.UsualArrivalPeriodToWork); Assert.Equal(usualDeparturePeriodFromWork, wrapper.UsualDeparturePeriodFromWork); Assert.Equal(usualModeToWork, wrapper.UsualModeToWork); Assert.Equal(usualSchoolParcel, wrapper.UsualSchoolParcel); Assert.Equal(usualSchoolParcelId, wrapper.UsualSchoolParcelId); Assert.Equal(usualSchoolZoneKey, wrapper.UsualSchoolZoneKey); Assert.Equal(usualWorkParcel, wrapper.UsualWorkParcel); Assert.Equal(usualWorkParcelId, wrapper.UsualWorkParcelId); Assert.Equal(usualWorkZoneKey, wrapper.UsualWorkZoneKey); Assert.Equal(worksAtHome, wrapper.WorksAtHome); }
public void TestTripWrapper() { Global.Configuration = new Configuration(); Global.Configuration.HouseholdSamplingRateOneInX = 256; int id = 1; int tourId = 2; int householdId = 3; int personSequence = 4; int day = 5; int tourSequence = 6; int halfTourId = 7; int sequence = 8; int surveyTripSequence = 9; int originPurpose = 10; int destinationPurpose = 11; int originAddressType = 12; int destinationAddressType = 13; int originParcelId = 14; int originZoneKey = 15; int destinationParcelId = 16; int destinationZoneKey = 17; int mode = 18; int pathType = 19; int driverType = 20; int departureTime = 21; int arrivalTime = 22; int activityEndTime = 23; double travelTime = 24.01; double travelCost = 25.01; double travelDistance = 26.01; double valueOfTime = 27.01; double expansionFactor = 28.01; Trip trip = new Trip { ActivityEndTime = activityEndTime, ArrivalTime = arrivalTime, Day = day, DepartureTime = departureTime, DestinationAddressType = destinationAddressType, DestinationParcelId = destinationParcelId, DestinationPurpose = destinationPurpose, DestinationZoneKey = destinationZoneKey, DriverType = driverType, ExpansionFactor = expansionFactor, HalfTour = halfTourId, HouseholdId = householdId, Id = id, Mode = mode, OriginAddressType = originAddressType, OriginParcelId = originParcelId, OriginPurpose = originPurpose, OriginZoneKey = originZoneKey, PathType = pathType, PersonSequence = personSequence, Sequence = sequence, SurveyTripSequence = surveyTripSequence, TourId = tourId, TourSequence = tourSequence, TravelCost = travelCost, TravelDistance = travelDistance, TravelTime = travelTime, ValueOfTime = valueOfTime, }; TourWrapper tour = TestHelper.GetTourWrapper(); TourWrapper.HalfTour halfTour = new TourWrapper.HalfTour(tour); TripWrapper wrapper = new TripWrapper(trip, tour, halfTour); Assert.Equal(id, wrapper.Id); Assert.Equal(tour, wrapper.Tour); Assert.Equal(tour.Household, wrapper.Household); Assert.Equal(tour.Person, wrapper.Person); Assert.Equal(day, wrapper.Day); Assert.Equal(halfTour, wrapper.HalfTour); Assert.Equal(sequence, wrapper.Sequence); Assert.Equal(originPurpose, wrapper.OriginPurpose); Assert.Equal(destinationPurpose, wrapper.DestinationPurpose); Assert.Equal(destinationAddressType, wrapper.DestinationAddressType); Assert.Equal(originParcelId, wrapper.OriginParcelId); Assert.Equal(originZoneKey, wrapper.OriginZoneKey); Assert.Equal(destinationParcelId, wrapper.DestinationParcelId); Assert.Equal(destinationZoneKey, wrapper.DestinationZoneKey); Assert.Equal(mode, wrapper.Mode); Assert.Equal(pathType, wrapper.PathType); Assert.Equal(driverType, wrapper.DriverType); Assert.Equal(departureTime.ToMinutesAfter3AM(), wrapper.DepartureTime); Assert.Equal(arrivalTime.ToMinutesAfter3AM(), wrapper.ArrivalTime); Assert.Equal(activityEndTime.ToMinutesAfter3AM(), wrapper.ActivityEndTime); Assert.Equal(valueOfTime, wrapper.ValueOfTime); int newDepartureTime = 100; wrapper.DepartureTime = newDepartureTime; Assert.Equal(newDepartureTime.ToMinutesAfterMidnight().ToMinutesAfter3AM(), wrapper.DepartureTime); Assert.Equal(0, wrapper.ArrivalTimeLimit); wrapper.ArrivalTimeLimit = 2; Assert.Equal(2, wrapper.ArrivalTimeLimit); Assert.Equal(0, wrapper.EarliestDepartureTime); wrapper.EarliestDepartureTime = 2; Assert.Equal(2, wrapper.EarliestDepartureTime); Assert.Equal(0, wrapper.LatestDepartureTime); wrapper.LatestDepartureTime = 2; Assert.Equal(2, wrapper.LatestDepartureTime); Assert.Equal(null, wrapper.DestinationParcel); CondensedParcel destinationParcel = new CondensedParcel(); wrapper.DestinationParcel = destinationParcel; Assert.Equal(destinationParcel, wrapper.DestinationParcel); Assert.Equal(false, wrapper.IsMissingData); wrapper.IsMissingData = true; Assert.Equal(true, wrapper.IsMissingData); /*TripModeImpedance[] impedances = wrapper.GetTripModeImpedances(); * wrapper.HUpdateTripValues(); * wrapper.SetActivityEndTime(); * wrapper.SetDriverOrPassenger(); * wrapper.SetOriginAddressType(); * wrapper.SetTourSequence(); * wrapper.SetTripValueOfTime(); * wrapper.Invert(); */ }
public static HouseholdWrapper GetHouseholdWrapper(List <IPerson> persons, int size = 16, int vehiclesAvailable = 12, double expansionFactor = .67, double fractionWorkersWithJobsOutsideRegion = .25, int income = 25000, int id = 3, Household household = null, CondensedParcel residenceParcel = null) { ChoiceModelFactory.Parcels = new Dictionary <int, CondensedParcel>(); int residenceParcelId = 99; ChoiceModelFactory.Parcels.Add(residenceParcelId, residenceParcel == null ? new CondensedParcel() : residenceParcel); int workers = 6; int fulltimeWorkers = 4; int partTimeWorkers = 2; int retiredAdults = 3; int otherAdults = 1; int collegeStudents = 0; int highSchoolStudents = 1; int kidsBetween5And15 = 1; int kidsBetween0And4 = 1; int ownOrRent = 1; int residenceType = 2; int residenceZoneId = 4; int residenceZoneKey = 5; int sampleType = 7; if (household == null) { household = new Household { CollegeStudents = collegeStudents, ExpansionFactor = expansionFactor, FractionWorkersWithJobsOutsideRegion = fractionWorkersWithJobsOutsideRegion, FulltimeWorkers = fulltimeWorkers, HighSchoolStudents = highSchoolStudents, Income = income, Id = id, KidsBetween0And4 = kidsBetween0And4, KidsBetween5And15 = kidsBetween5And15, OtherAdults = otherAdults, OwnOrRent = ownOrRent, PartTimeWorkers = partTimeWorkers, ResidenceParcelId = residenceParcelId, ResidenceType = residenceType, ResidenceZoneId = residenceZoneId, ResidenceZoneKey = residenceZoneKey, RetiredAdults = retiredAdults, SampleType = sampleType, Size = size, VehiclesAvailable = vehiclesAvailable, Workers = workers } } ; HouseholdWrapper wrapper = new HouseholdWrapper(household) { PersonPersister = new TestPersonPersister(persons), PersonWrapperCreator = new TestPersonWrapperCreator(), HouseholdDayPersister = new TestHouseholdDayPersister(), HouseholdDayWrapperCreator = new TestHouseholdDayWrapperCreator(), HouseholdPersister = new TestHouseholdPersister(), }; return(wrapper); }
public void TestTourWrapperMode() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.BUSINESS; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; TourWrapper wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.BIKE; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(true, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(true, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.HOV2; Assert.Equal(true, wrapper.IsAnAutoMode); Assert.Equal(true, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(true, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.HOV3; Assert.Equal(true, wrapper.IsAnAutoMode); Assert.Equal(true, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(true, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.HOVDRIVER; Assert.Equal(true, wrapper.IsAnAutoMode); Assert.Equal(true, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(true, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.HOVPASSENGER; Assert.Equal(true, wrapper.IsAnAutoMode); Assert.Equal(true, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(true, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.NONE; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.OTHER; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.PARK_AND_RIDE; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.SCHOOL_BUS; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(true, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.SOV; Assert.Equal(true, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(true, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.TRANSIT; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(true, wrapper.IsTransitMode); Assert.Equal(false, wrapper.IsWalkMode); Assert.Equal(false, wrapper.IsWalkOrBikeMode); wrapper.Mode = Constants.Mode.WALK; Assert.Equal(false, wrapper.IsAnAutoMode); Assert.Equal(false, wrapper.IsAnHovMode); Assert.Equal(false, wrapper.IsBikeMode); Assert.Equal(false, wrapper.IsHov2Mode); Assert.Equal(false, wrapper.IsHov3Mode); Assert.Equal(false, wrapper.IsSchoolBusMode); Assert.Equal(false, wrapper.IsSovMode); Assert.Equal(false, wrapper.IsTransitMode); Assert.Equal(true, wrapper.IsWalkMode); Assert.Equal(true, wrapper.IsWalkOrBikeMode); }
public void TestTourWrapperPurpose() { Global.Configuration = new Configuration { HouseholdSamplingRateOneInX = 1 }; PersonWrapper person = TestHelper.GetPersonWrapper(); PersonDayWrapper personDay = TestHelper.GetPersonDayWrapper(personWrapper: person, income: -1); CondensedParcel originParcel = new CondensedParcel(); CondensedParcel destinationParcel = new CondensedParcel(); int destinationDepartureTime = 1; int destinationPurpose = Constants.Purpose.BUSINESS; int destinationArrivalTime = 3; Global.Configuration.Coefficients_BaseCostCoefficientIncomeLevel = 25000; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Other = .75; Global.Configuration.Coefficients_MeanTimeCoefficient_Other = .45; Global.Configuration.Coefficients_StdDeviationTimeCoefficient_Work = .76; Global.Configuration.Coefficients_MeanTimeCoefficient_Work = .46; Global.Configuration.Coefficients_BaseCostCoefficientPerMonetaryUnit = 5; TourWrapper wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.ESCORT; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(true, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.MEAL; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(true, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.MEDICAL; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(true, wrapper.IsMedicalPurpose); Assert.Equal(true, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.PERSONAL_BUSINESS; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(true, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.RECREATION; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(true, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(true, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.SCHOOL; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(true, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.SHOPPING; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(true, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.SOCIAL; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(true, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(true, wrapper.IsSocialPurpose); Assert.Equal(false, wrapper.IsWorkPurpose); destinationPurpose = Constants.Purpose.WORK; wrapper = new TourWrapper(person, personDay, originParcel, destinationParcel, destinationArrivalTime, destinationDepartureTime, destinationPurpose); Assert.Equal(false, wrapper.IsEscortPurpose); Assert.Equal(false, wrapper.IsMealPurpose); Assert.Equal(false, wrapper.IsMedicalPurpose); Assert.Equal(false, wrapper.IsPersonalBusinessOrMedicalPurpose); Assert.Equal(false, wrapper.IsRecreationPurpose); Assert.Equal(false, wrapper.IsSchoolPurpose); Assert.Equal(false, wrapper.IsShoppingPurpose); Assert.Equal(false, wrapper.IsSocialOrRecreationPurpose); Assert.Equal(false, wrapper.IsSocialPurpose); Assert.Equal(true, wrapper.IsWorkPurpose); }