public void Init() { var testDataModel = new TestDataModel(); list = new ActivitiesList(testDataModel.MockDataModel.Object); test = list.Create(); }
/// <summary> /// Generates a .FET file for use in the algorithm. /// </summary> /// <param name="outputDir">Output directory for the FET file.</param> /// <returns>Filename of the generated .FET file.</returns> public string GenerateFetFile(string outputDir) { // Init XML creator var xmlCreator = new XmlCreator(FetVersion); // Create FET file xmlCreator.AddToRoot(DaysList.Create()); xmlCreator.AddToRoot(HoursList.Create()); xmlCreator.AddToRoot(TeachersList.Create()); xmlCreator.AddToRoot(SubjectsList.Create()); xmlCreator.AddToRoot(YearsList.Create()); xmlCreator.AddToRoot(ActivitiesList.Create()); xmlCreator.AddToRoot(TimeConstraintsList.Create()); xmlCreator.AddToRoot(SpaceConstraintsList.Create()); xmlCreator.AddToRoot(RoomsList.Create()); return(xmlCreator.Save(outputDir)); }
/// <summary> /// Creates the array of XElements for the constraint. /// </summary> /// <returns>The created array.</returns> /// <param name="dB">Datamodel.</param> public override XElement[] Create(DataModel dB) { ActivitiesList activitiesList = new ActivitiesList(dB); activitiesList.Create(); var query = from activity in activitiesList.Activities.Values group new { id = activity.GroupId, activity.TotalDuration, activity.Duration } by activity.GroupId into g where g.Count() > 1 select g; var result = new List <ConstraintMinDaysBetweenActivities>(); foreach (var item in query) { var firstElement = item.First(); result.Add(new ConstraintMinDaysBetweenActivities { GroupID = firstElement.id, NumberOfActivities = (int)Math.Ceiling(firstElement.TotalDuration / (double)firstElement.Duration) }); } return(result.Select(item => item.ToXelement()).ToArray()); }