public async Task TestScrapeDepartments()
        {
            var htmlClient = new Fake.FakeHtmlClient()
                             .OnGet(Urls.ProfessorPage(Sandy.NNumber),
                                    File.ReadAllText("Web/Pages/DepartmentSchedule.html"))
                             .DefaultToException();

            var scraper = new ScraperEnv(htmlClient)
                          .SaveDepartments(out var depts)
                          .Scraper();
            var res = await scraper.ScrapeDepartmentsAsync();

            Assert.False(res.IsError);

            Assert.True(depts.Any());
            Assert.True(scraper.Errors.None());
        }
        public async Task TestScrapeProfessorEntries()
        {
            var htmlClient = new Fake.FakeHtmlClient()
                             .OnGet(Urls.ProfessorPage(Sandy.NNumber),
                                    File.ReadAllText("Web/Pages/TestScrapeProfessorEntriesPage.html"))
                             .DefaultToException();

            var scraper = new ScraperEnv(htmlClient)
                          .SaveEntries(out var entries)
                          .Scraper();
            var res = await scraper.ScrapeProfessorEntriesAsync(Sandy);

            Assert.False(res.IsError);

            Assert.True(entries.Count == 30);
            Assert.True(entries.All(x => x.Course != null));
            Assert.True(entries.All(x => x.Professor != null));
            Assert.True(entries.All(x => x.Term != null));
        }