public void initalizeExampleData() { if(organic_room_types == null) { organic_room_types = new HashSet<RoomType>(); organic_room_types.Add(RoomType.Projector); organic_room_types.Add(RoomType.Komin); } if(available_timeslots == null) { var available_timeslot = new TimeSlot(DayOfWeek.Monday, 9, 22); available_timeslots = new List<TimeSlot>(); available_timeslots.Add(available_timeslot); } if(rooms == null) { var room = new Room(organic_room_types, 150, available_timeslots, "ХФ210"); rooms = new HashSet<Room>(); rooms.Add(room); } if(requirements_list == null) { var requirements = new Requirements(10, available_timeslots, rooms); requirements_list = new List<Requirements>(); requirements_list.Add(requirements); var organich_chemistry_teacher = new Teacher(requirements_list[0], "Prof. Hristo Hristov"); } var organic_chemistry_teachers = new List<Teacher>(); var s = new Subject(organic_room_types, organic_chemistry_teachers, "Organic Chemistry Lectures", 1); }
public Teacher(Requirements requirements, string name) { this.requirements = requirements; this.name = name; }
public void initInputData() { rooms = new List<Room>(); var roomType1 = new HashSet<RoomType>(); roomType1.Add(RoomType.Computer); var availabilityRoom1 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 13, 18)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType1, 24, availabilityRoom1, "321")); var roomType2 = new HashSet<RoomType>(); roomType2.Add(RoomType.Computer); var availabilityRoom2 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 11, 21)); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType2, 20, availabilityRoom2, "306")); var roomType3 = new HashSet<RoomType>(); roomType3.Add(RoomType.Computer); var availabilityRoom3 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 9, 22)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType3, 22, availabilityRoom3, "120")); var roomType4 = new HashSet<RoomType>(); roomType4.Add(RoomType.Computer); var availabilityRoom4 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom4.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom4.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom4.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom4.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom4.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType4, 20, availabilityRoom4, "314")); var roomType5 = new HashSet<RoomType>(); roomType5.Add(RoomType.Computer); var availabilityRoom5 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom5.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom5.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom5.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom5.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom5.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType5, 20, availabilityRoom5, "019")); var roomType6 = new HashSet<RoomType>(); roomType6.Add(RoomType.Lecture); var availabilityRoom6 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom6.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom6.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom6.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom6.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom6.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType6, 100, availabilityRoom6, "229")); var roomType7 = new HashSet<RoomType>(); roomType7.Add(RoomType.SmallRoom); var availabilityRoom7 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom7.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom7.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom7.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom7.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom7.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType7, 24, availabilityRoom7, "03")); var roomType8 = new HashSet<RoomType>(); roomType8.Add(RoomType.SmallRoom); var availabilityRoom8 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom8.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom8.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom8.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom8.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom8.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType8, 20, availabilityRoom8, "308")); var roomType9 = new HashSet<RoomType>(); roomType9.Add(RoomType.SmallRoom); var availabilityRoom9 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom9.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom9.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom9.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom9.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom9.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType9, 18, availabilityRoom9, "307")); var roomType10 = new HashSet<RoomType>(); roomType10.Add(RoomType.SmallRoom); var availabilityRoom10 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom10.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom10.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom10.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom10.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom10.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType10, 24, availabilityRoom10, "209B")); var roomType11 = new HashSet<RoomType>(); roomType11.Add(RoomType.SmallRoom); var availabilityRoom11 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom11.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom11.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom11.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom11.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom11.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType11, 24, availabilityRoom11, "401")); var roomType12 = new HashSet<RoomType>(); roomType12.Add(RoomType.SmallRoom); var availabilityRoom12 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom12.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom12.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom12.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom12.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom12.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType12, 20, availabilityRoom12, "404")); var roomType13 = new HashSet<RoomType>(); roomType13.Add(RoomType.SmallRoom); var availabilityRoom13 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom13.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom13.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom13.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom13.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom13.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType13, 20, availabilityRoom13, "311")); var roomType14 = new HashSet<RoomType>(); roomType14.Add(RoomType.Lecture); var availabilityRoom14 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom14.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); availabilityRoom14.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); availabilityRoom14.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); availabilityRoom14.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); availabilityRoom14.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); rooms.Add(new Room(roomType14, 100, availabilityRoom14, "101")); // --------------------------------------------------------------------------------------------------- var roomsHashSet = new HashSet<Room>(rooms); teachers = new List<Teacher>(); var teacher1freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher1requirements = new Requirements(0.3, teacher1freeTime, roomsHashSet); teachers.Add(new Teacher(teacher1requirements, "G. Aleksandrov")); var teacher2freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher2requirements = new Requirements(0.3, teacher2freeTime, roomsHashSet); teachers.Add(new Teacher(teacher2requirements, "E. Velikova")); var teacher3freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher3freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher3rooms = new HashSet<Room>(); teacher3rooms.Add(rooms[13]); var teacher3requirements = new Requirements(0.3, teacher3freeTime, teacher3rooms); teachers.Add(new Teacher(teacher3requirements, "M. Todorova")); var teacher4freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher4freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher4requirements = new Requirements(0.3, teacher4freeTime, roomsHashSet); teachers.Add(new Teacher(teacher4requirements, "G. Georgiev")); var teacher5freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher5freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher5requirements = new Requirements(0.3, teacher5freeTime, roomsHashSet); teachers.Add(new Teacher(teacher5requirements, "AsistentDis1")); var teacher6freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher6freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher6requirements = new Requirements(0.3, teacher6freeTime, roomsHashSet); teachers.Add(new Teacher(teacher6requirements, "AsistentAlgebra1")); var teacher7freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher7freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher7requirements = new Requirements(0.3, teacher7freeTime, roomsHashSet); teachers.Add(new Teacher(teacher7requirements, "AsistentUP1")); var teacher8freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher8freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher8requirements = new Requirements(0.3, teacher8freeTime, roomsHashSet); teachers.Add(new Teacher(teacher8requirements, "AsistentUPp1")); var teacher9freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher9freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher9requirements = new Requirements(0.3, teacher9freeTime, roomsHashSet); teachers.Add(new Teacher(teacher9requirements, "AsistentDStr1")); var teacher10freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher10freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher10requirements = new Requirements(0.3, teacher10freeTime, roomsHashSet); teachers.Add(new Teacher(teacher10requirements, "AsistentDis2")); var teacher11freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher11freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher11requirements = new Requirements(0.3, teacher11freeTime, roomsHashSet); teachers.Add(new Teacher(teacher11requirements, "AsistentAlgebra2")); var teacher12freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher12freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher12requirements = new Requirements(0.3, teacher12freeTime, roomsHashSet); teachers.Add(new Teacher(teacher12requirements, "AsistentUP2")); var teacher13freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher13freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher13requirements = new Requirements(0.3, teacher13freeTime, roomsHashSet); teachers.Add(new Teacher(teacher13requirements, "AsistentUPp2")); var teacher14freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher14freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher14requirements = new Requirements(0.3, teacher14freeTime, roomsHashSet); teachers.Add(new Teacher(teacher14requirements, "AsistentDStr2")); var teacher15freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher15freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher15requirements = new Requirements(0.3, teacher15freeTime, roomsHashSet); teachers.Add(new Teacher(teacher15requirements, "AsistentDis3")); var teacher16freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher16freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher16requirements = new Requirements(0.3, teacher16freeTime, roomsHashSet); teachers.Add(new Teacher(teacher16requirements, "AsistentAlgebra3")); var teacher17freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher17freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher17requirements = new Requirements(0.3, teacher17freeTime, roomsHashSet); teachers.Add(new Teacher(teacher17requirements, "AsistentUP3")); var teacher18freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher18freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher18requirements = new Requirements(0.3, teacher18freeTime, roomsHashSet); teachers.Add(new Teacher(teacher18requirements, "AsistentUPp3")); var teacher19freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher19freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher19requirements = new Requirements(0.3, teacher19freeTime, roomsHashSet); teachers.Add(new Teacher(teacher19requirements, "AsistentDStr3")); var teacher20freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher20freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher20requirements = new Requirements(0.3, teacher20freeTime, roomsHashSet); teachers.Add(new Teacher(teacher20requirements, "AsistentDis4")); var teacher21freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher21freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher21requirements = new Requirements(0.3, teacher21freeTime, roomsHashSet); teachers.Add(new Teacher(teacher21requirements, "AsistentAlgebra4")); var teacher22freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher22freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher22requirements = new Requirements(0.3, teacher22freeTime, roomsHashSet); teachers.Add(new Teacher(teacher22requirements, "AsistentUP4")); var teacher23freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher23freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher23requirements = new Requirements(0.3, teacher23freeTime, roomsHashSet); teachers.Add(new Teacher(teacher23requirements, "AsistentUPp4")); var teacher24freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 7, 22)); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 7, 22)); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Wednesday, 7, 22)); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Thursday, 7, 22)); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 7, 22)); teacher24freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Saturday, 7, 22)); var teacher24requirements = new Requirements(0.3, teacher24freeTime, roomsHashSet); teachers.Add(new Teacher(teacher24requirements, "AsistentDStr4")); // --------------------------------------------------------------------------------------------------- subjects = new List<Subject>(); var subject1roomtypes = new HashSet<RoomType>(); subject1roomtypes.Add(RoomType.Lecture); var subject1teachers = new List<Teacher>(); subject1teachers.Add(teachers[0]); subjects.Add(new Subject(subject1roomtypes, subject1teachers, "DIS", 4)); var subject2roomtypes = new HashSet<RoomType>(); subject2roomtypes.Add(RoomType.Lecture); var subject2teachers = new List<Teacher>(); subject2teachers.Add(teachers[1]); subjects.Add(new Subject(subject2roomtypes, subject2teachers, "Algebra", 3)); var subject3roomtypes = new HashSet<RoomType>(); subject3roomtypes.Add(RoomType.Lecture); var subject3teachers = new List<Teacher>(); subject3teachers.Add(teachers[2]); subjects.Add(new Subject(subject3roomtypes, subject3teachers, "UP", 3)); var subject4roomtypes = new HashSet<RoomType>(); subject4roomtypes.Add(RoomType.Lecture); var subject4teachers = new List<Teacher>(); subject4teachers.Add(teachers[3]); subjects.Add(new Subject(subject4roomtypes, subject4teachers, "DStr", 3)); var subject5roomtypes = new HashSet<RoomType>(); subject5roomtypes.Add(RoomType.SmallRoom); var subject5teachers = new List<Teacher>(); subject5teachers.Add(teachers[4]); subjects.Add(new Subject(subject5roomtypes, subject5teachers, "DIS-upr-1", 2)); var subject6roomtypes = new HashSet<RoomType>(); subject6roomtypes.Add(RoomType.SmallRoom); var subject6teachers = new List<Teacher>(); subject6teachers.Add(teachers[5]); subjects.Add(new Subject(subject6roomtypes, subject6teachers, "Algebra-upr-1", 2)); var subject7roomtypes = new HashSet<RoomType>(); subject7roomtypes.Add(RoomType.Computer); var subject7teachers = new List<Teacher>(); subject7teachers.Add(teachers[6]); subjects.Add(new Subject(subject7roomtypes, subject7teachers, "UP-upr-1", 2)); var subject8roomtypes = new HashSet<RoomType>(); subject8roomtypes.Add(RoomType.Computer); var subject8teachers = new List<Teacher>(); subject8teachers.Add(teachers[7]); subjects.Add(new Subject(subject8roomtypes, subject8teachers, "UP-pr-1", 2)); var subject9roomtypes = new HashSet<RoomType>(); subject9roomtypes.Add(RoomType.SmallRoom); var subject9teachers = new List<Teacher>(); subject9teachers.Add(teachers[8]); subjects.Add(new Subject(subject9roomtypes, subject9teachers, "DStr-upr-1", 2)); var subject10roomtypes = new HashSet<RoomType>(); subject10roomtypes.Add(RoomType.SmallRoom); var subject10teachers = new List<Teacher>(); subject10teachers.Add(teachers[9]); subjects.Add(new Subject(subject10roomtypes, subject10teachers, "DIS-upr-2", 2)); var subject11roomtypes = new HashSet<RoomType>(); subject11roomtypes.Add(RoomType.SmallRoom); var subject11teachers = new List<Teacher>(); subject11teachers.Add(teachers[10]); subjects.Add(new Subject(subject11roomtypes, subject11teachers, "Algebra-upr-2", 2)); var subject12roomtypes = new HashSet<RoomType>(); subject12roomtypes.Add(RoomType.Computer); var subject12teachers = new List<Teacher>(); subject12teachers.Add(teachers[11]); subjects.Add(new Subject(subject12roomtypes, subject12teachers, "UP-upr-2", 2)); var subject13roomtypes = new HashSet<RoomType>(); subject13roomtypes.Add(RoomType.Computer); var subject13teachers = new List<Teacher>(); subject13teachers.Add(teachers[12]); subjects.Add(new Subject(subject13roomtypes, subject13teachers, "UP-pr-2", 2)); var subject14roomtypes = new HashSet<RoomType>(); subject14roomtypes.Add(RoomType.SmallRoom); var subject14teachers = new List<Teacher>(); subject14teachers.Add(teachers[13]); subjects.Add(new Subject(subject14roomtypes, subject14teachers, "DStr-upr-2", 2)); var subject15roomtypes = new HashSet<RoomType>(); subject15roomtypes.Add(RoomType.SmallRoom); var subject15teachers = new List<Teacher>(); subject15teachers.Add(teachers[14]); subjects.Add(new Subject(subject15roomtypes, subject15teachers, "DIS-upr-3", 2)); var subject16roomtypes = new HashSet<RoomType>(); subject16roomtypes.Add(RoomType.SmallRoom); var subject16teachers = new List<Teacher>(); subject16teachers.Add(teachers[15]); subjects.Add(new Subject(subject16roomtypes, subject16teachers, "Algebra-upr-3", 2)); var subject17roomtypes = new HashSet<RoomType>(); subject17roomtypes.Add(RoomType.Computer); var subject17teachers = new List<Teacher>(); subject17teachers.Add(teachers[16]); subjects.Add(new Subject(subject17roomtypes, subject17teachers, "UP-upr-3", 2)); var subject18roomtypes = new HashSet<RoomType>(); subject18roomtypes.Add(RoomType.Computer); var subject18teachers = new List<Teacher>(); subject18teachers.Add(teachers[17]); subjects.Add(new Subject(subject18roomtypes, subject18teachers, "UP-pr-3", 2)); var subject19roomtypes = new HashSet<RoomType>(); subject19roomtypes.Add(RoomType.SmallRoom); var subject19teachers = new List<Teacher>(); subject19teachers.Add(teachers[18]); subjects.Add(new Subject(subject19roomtypes, subject19teachers, "DStr-upr-3", 2)); var subject20roomtypes = new HashSet<RoomType>(); subject20roomtypes.Add(RoomType.SmallRoom); var subject20teachers = new List<Teacher>(); subject20teachers.Add(teachers[19]); subjects.Add(new Subject(subject20roomtypes, subject20teachers, "DIS-upr-4", 2)); var subject21roomtypes = new HashSet<RoomType>(); subject21roomtypes.Add(RoomType.SmallRoom); var subject21teachers = new List<Teacher>(); subject21teachers.Add(teachers[20]); subjects.Add(new Subject(subject21roomtypes, subject21teachers, "Algebra-upr-4", 2)); var subject22roomtypes = new HashSet<RoomType>(); subject22roomtypes.Add(RoomType.Computer); var subject22teachers = new List<Teacher>(); subject22teachers.Add(teachers[21]); subjects.Add(new Subject(subject22roomtypes, subject22teachers, "UP-upr-4", 2)); var subject23roomtypes = new HashSet<RoomType>(); subject23roomtypes.Add(RoomType.Computer); var subject23teachers = new List<Teacher>(); subject23teachers.Add(teachers[22]); subjects.Add(new Subject(subject23roomtypes, subject23teachers, "UP-pr-4", 2)); var subject24roomtypes = new HashSet<RoomType>(); subject24roomtypes.Add(RoomType.SmallRoom); var subject24teachers = new List<Teacher>(); subject24teachers.Add(teachers[23]); subjects.Add(new Subject(subject24roomtypes, subject24teachers, "DStr-upr-4", 2)); // --------------------------------------------------------------------------------------------------- groups = new List<Group>(); var group1subjects = new List<Subject>(); group1subjects.Add(subjects[0]); group1subjects.Add(subjects[1]); group1subjects.Add(subjects[2]); group1subjects.Add(subjects[3]); group1subjects.Add(subjects[4]); group1subjects.Add(subjects[5]); group1subjects.Add(subjects[6]); group1subjects.Add(subjects[7]); group1subjects.Add(subjects[8]); groups.Add(new Group(group1subjects, 22, "Group 1")); var group2subjects = new List<Subject>(); group2subjects.Add(subjects[0]); group2subjects.Add(subjects[1]); group2subjects.Add(subjects[2]); group2subjects.Add(subjects[3]); group2subjects.Add(subjects[9]); group2subjects.Add(subjects[10]); group2subjects.Add(subjects[11]); group2subjects.Add(subjects[12]); group2subjects.Add(subjects[13]); groups.Add(new Group(group2subjects, 20, "Group 2")); var group3subjects = new List<Subject>(); group3subjects.Add(subjects[0]); group3subjects.Add(subjects[1]); group3subjects.Add(subjects[2]); group3subjects.Add(subjects[3]); group3subjects.Add(subjects[14]); group3subjects.Add(subjects[15]); group3subjects.Add(subjects[16]); group3subjects.Add(subjects[17]); group3subjects.Add(subjects[18]); groups.Add(new Group(group3subjects, 20, "Group 3")); var group4subjects = new List<Subject>(); group4subjects.Add(subjects[0]); group4subjects.Add(subjects[1]); group4subjects.Add(subjects[2]); group4subjects.Add(subjects[3]); group4subjects.Add(subjects[19]); group4subjects.Add(subjects[20]); group4subjects.Add(subjects[21]); group4subjects.Add(subjects[22]); group4subjects.Add(subjects[23]); groups.Add(new Group(group4subjects, 18, "Group 4")); }
public void TestAlgorythm1() { List<Room> rooms = new List<Room>(); var roomType1 = new HashSet<RoomType>(); roomType1.Add(RoomType.Computer); var availabilityRoom1 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 13, 15)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Sunday, 16, 17)); availabilityRoom1.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 12, 17)); rooms.Add(new Room(roomType1, 30, availabilityRoom1, "404")); var roomType2 = new HashSet<RoomType>(); roomType2.Add(RoomType.Lecture); var availabilityRoom2 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 13, 14)); availabilityRoom2.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Sunday, 11, 17)); rooms.Add(new Room(roomType2, 60, availabilityRoom2, "326")); var roomType3 = new HashSet<RoomType>(); roomType1.Add(RoomType.Computer); roomType1.Add(RoomType.Projector); var availabilityRoom3 = new List<UniProgramGen.Helpers.TimeSlot>(); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 12, 14)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 13, 19)); availabilityRoom3.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 12, 17)); rooms.Add(new Room(roomType3, 10, availabilityRoom3, "01")); // --------------------------------------------------------------------------------------------------- List<Teacher> teachers = new List<Teacher>(); var teacher1freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Monday, 12, 13)); teacher1freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Friday, 12, 20)); var teacher1rooms = new HashSet<Room>(); teacher1rooms.Add(rooms[1]); teacher1rooms.Add(rooms[2]); var teacher1requirements = new Requirements(0.3, teacher1freeTime, teacher1rooms); teachers.Add(new Teacher(teacher1requirements, "Kiki Vladimiki")); var teacher2freeTime = new List<UniProgramGen.Helpers.TimeSlot>(); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Sunday, 11, 18)); teacher2freeTime.Add(new UniProgramGen.Helpers.TimeSlot(DayOfWeek.Tuesday, 12, 20)); var teacher2rooms = new HashSet<Room>(); teacher2rooms.Add(rooms[0]); var teacher2requirements = new Requirements(1, teacher2freeTime, teacher2rooms); teachers.Add(new Teacher(teacher2requirements, "Pesho Kelesho")); // --------------------------------------------------------------------------------------------------- List<Subject> subjects = new List<Subject>(); var subject1roomtypes = new HashSet<RoomType>(); subject1roomtypes.Add(RoomType.Computer); var subject1teachers = new List<Teacher>(); subject1teachers.Add(teachers[0]); subjects.Add(new Subject(subject1roomtypes, subject1teachers, "OOP", 2)); var subject2roomtypes = new HashSet<RoomType>(); subject2roomtypes.Add(RoomType.Lecture); var subject2teachers = new List<Teacher>(); subject2teachers.Add(teachers[1]); subjects.Add(new Subject(subject2roomtypes, subject2teachers, "KARH", 1)); // --------------------------------------------------------------------------------------------------- List<Group> groups = new List<Group>(); var group1subjects = new List<Subject>(); group1subjects.Add(subjects[0]); groups.Add(new Group(group1subjects, 5, "SoftInj1")); var group2subjects = new List<Subject>(); group2subjects.Add(subjects[0]); group2subjects.Add(subjects[1]); groups.Add(new Group(group2subjects, 6, "SoftInj2")); var group3subjects = new List<Subject>(); group3subjects.Add(subjects[0]); group3subjects.Add(subjects[1]); groups.Add(new Group(group3subjects, 12, "KompNauki")); var generatorRessult = new ProgramGenerator().GenerateProgram(rooms, subjects, teachers, groups); var ser = new Newtonsoft.Json.JsonSerializer(); var ser_string = Newtonsoft.Json.JsonConvert.SerializeObject(generatorRessult); //System.IO.File.WriteAllText(@"..\..\program_generated_test.js", ser_string); }