public static CifSchedule CreateSchedule(string timetableId = "X12345", StpIndicator indicator = StpIndicator.Permanent, ICalendar calendar = null, ScheduleLocation[] stops = null, CifService service = null, string retailServiceId = null, AccomodationClass sleeperClass = AccomodationClass.None) { retailServiceId = retailServiceId ?? $"VT{timetableId.Substring(1, 4)}00"; var schedule = new CifSchedule() { TimetableUid = timetableId, StpIndicator = indicator, RetailServiceId = retailServiceId, TrainIdentity = $"9Z{timetableId.Substring(1, 2)}", Operator = new Toc(retailServiceId.Substring(0, 2)), Status = ServiceStatus.PermanentPassenger, Category = ServiceCategory.ExpressPassenger, ReservationIndicator = ReservationIndicator.Supported, SeatClass = AccomodationClass.Both, SleeperClass = sleeperClass, Calendar = calendar ?? EverydayAugust2019, }; if (service != null) { schedule.AddToService(service); } if (indicator != StpIndicator.Cancelled) { stops = stops ?? DefaultLocations; foreach (var location in stops) { location.SetParent(schedule); } } return(schedule); }
public void IsSleeper(AccomodationClass sleeperClass) { var schedule = TestSchedules.CreateSchedule(sleeperClass: sleeperClass); Assert.True(schedule.IsSleeper()); }