private void InitMeasurementsSchedule(MainViewModel model) { var randGen = new Random(); var orderManager = new MeasurementOrderManager(); var builder = new TwoHoursMeasurementScheduleListBuilder(); var scheduleList = builder .WithTownList(model.TownList.Select(m => m.Model)) .WithTotalDays(randGen.Next(1, 10)) .WithOrderManager(orderManager) .WithDateStartPoint(DateTime.Now) .EachIntervalMeasurmentsCount(() => { return(randGen.Next(0, 5)); }) .TimeIntervalsCount(() => { return(randGen.Next(0, 4)); }) .Build(); scheduleList.ForEach( s => { model.MeasurementScheduleList.Add(new MeasurementScheduleViewModel(s)); }); }
public void BuildingCorrectness() { var totalDays = 5; var fakeTownList = new List <Town>() { new Town("1"), new Town("2"), new Town("3"), }; var manager = new Mock <IMeasurementOrderManager>(); var builder = new TwoHoursMeasurementScheduleListBuilder(); var result = builder.WithTownList(fakeTownList) .WithTotalDays(totalDays) .WithOrderManager(manager.Object) .EachIntervalMeasurmentsCount(() => { return(2); }) .TimeIntervalsCount(() => { return(2); }) .Build(); Assert.True(result.Count > 0); Assert.True(fakeTownList.All(t => result.Any(s => s.Town == t))); Assert.True(result.GroupBy(s => s.Date).Count() == totalDays); }