private static void Main(string[] args) { var startup = new Startup(); IServiceCollection services = new ServiceCollection(); startup.ConfigureServices(services); ServiceProvider serviceBuilder = services.BuildServiceProvider(); ICourseScheduleReader reader = serviceBuilder.GetRequiredService <ICourseScheduleReader>(); string filePath = args[0]; IEnumerable <Course> courses = reader.ReadFromFile(filePath); IMapper mapper = serviceBuilder.GetRequiredService <IMapper>(); IEnumerable <Class> classes = mapper.Map <IEnumerable <Class> >(courses); var weeklySchedule = new WeeklySchedule("Fall 2018", DateTime.Parse("August 16, 2018"), DateTime.Parse("December 7, 2018")); foreach (Class @class in classes) { weeklySchedule.AddClass(@class); } IWeeklyScheduleWriter writer = serviceBuilder.GetRequiredService <IWeeklyScheduleWriter>(); string outputFileName = args[1]; outputFileName = writer.WriteAsHtml(weeklySchedule, outputFileName); }
public void WriteAsHtml_WeeklySchedule_ProducesAValidHtmlFile() { // Arrange string outputPath = "schedule.data"; const string semesterName = "Fall 2018"; var semesterStartDate = DateTime.Parse("August 16, 2018"); var semesterEndDate = DateTime.Parse("December 7, 2018"); // Act var weeklySchedule = new WeeklySchedule(semesterName, semesterStartDate, semesterEndDate); IEnumerable <Class> classes = GetDemoClasses(); foreach (Class @class in classes) { weeklySchedule.AddClass(@class); } outputPath = _weeklyScheduleWriter.WriteAsHtml(weeklySchedule, outputPath); // Assert Assert.True(File.Exists(outputPath)); }