public void Test_Correctness_1() { var input = new List <Slot>(); input.AddRange(TestData.Default().FindAll(x => x.UID == 28)); //Lecture of BEAM input.AddRange(TestData.Default().FindAll(x => x.UID == 6)); //Lecture of BKA var result = new TimetableFinder().GetPossibleTimetables(input.ToArray()); Assert.AreEqual(null, result); }
// [Ignore("Not testing this as TimetableFinder is not used in production code")] public void Test_TimetableFinder_UsingRunByWithoutConsideringWeekNumber() { int expectedCount = 285696; List <List <Slot> > result = new List <List <Slot> >(); Benchmark(() => { result = new TimetableFinder().GetPossibleTimetables(input().ToArray()); }, "TimetableFinder_WithoutConsideringWeekNumber"); Assert.True(result.Count == expectedCount); }
public void Test_TimetableFinder_UsingRunByConsideringWeekNumber() { int expectedCount = 616872; List <List <Slot> > result = new List <List <Slot> >(); Benchmark(() => { result = new TimetableFinder().GetPossibleTimetables(input().ToArray()); }, "TimetableFinder_ConsideringWeekNumber"); Assert.True(result.Count == expectedCount, $"Expected count is {expectedCount} but actual is {result.Count}"); }
public void Test_TimetableFinder_SortBySlotCount_1() { var input = GetInput(); var subjects = SubjectModel.Parse(input); var timtableFinder = new TimetableFinder(); var result = timtableFinder.SortBySlotCount(subjects); for (int i = 0; i < result.Count; i++) { Console.WriteLine(result[i].Code + " " + result[i].Slots.Count); } }
public void FullTest_1() { var data = new HtmlSlotParser().Parse(Helper.RawStringOfTestFile("SampleData-FAM-2017-2ndSem.html")); var input = new List <Slot>(); input.AddRange(data.FindAll(x => x.Code == "UKAF4023")); //ATP input.AddRange(data.FindAll(x => x.Code == "MPU34022")); //ACP input.AddRange(data.FindAll(x => x.Code == "MPU34032")); //CP input.AddRange(data.FindAll(x => x.Code == "UKAI3013")); //E var result = new TimetableFinder().GetPossibleTimetables(input.ToArray()); Assert.AreEqual(112, result.Count); }