using CanvasModel.EnrollmentTerms; namespace Management.Test; public class SemesterPlannerTests { [Test] public void TestCanCreatePlanner() { var canvasTerm = new EnrollmentTermModel( Id: 1, Name: "one", StartAt: new DateTime(2022, 1, 1), EndAt: new DateTime(2022, 1, 2) ); var semester = new SemesterPlanner(canvasTerm); semester.Months.Count().Should().Be(1); } [Test] public void TestNewPlannerHasCorrectNumberOfMonths() { var canvasTerm = new EnrollmentTermModel( Id: 1, Name: "one", StartAt: new DateTime(2022, 1, 1), EndAt: new DateTime(2022, 2, 1) ); var semester = new SemesterPlanner(canvasTerm); semester.Months.Count().Should().Be(2); } [Test] public void TestNewPlannerHandlesTermsThatWrapYears() { var canvasTerm = new EnrollmentTermModel( Id: 1, Name: "one", StartAt: new DateTime(2022, 12, 1), EndAt: new DateTime(2023, 1, 1) ); var semester = new SemesterPlanner(canvasTerm); semester.Months.Count().Should().Be(2); } [Test] public void TestSemesterGetsCorrectMonths() { var canvasTerm = new EnrollmentTermModel( Id: 1, Name: "one", StartAt: new DateTime(2022, 1, 1), EndAt: new DateTime(2022, 2, 1) ); var semester = new SemesterPlanner(canvasTerm); semester.Months.First().Month.Should().Be(1); semester.Months.Last().Month.Should().Be(2); } [Test] public void TestMonthsCanWrapYears() { var canvasTerm = new EnrollmentTermModel( Id: 1, Name: "one", StartAt: new DateTime(2022, 12, 1), EndAt: new DateTime(2023, 1, 1) ); var semester = new SemesterPlanner(canvasTerm); semester.Months.First().Month.Should().Be(12); semester.Months.First().Year.Should().Be(2022); semester.Months.Last().Month.Should().Be(1); semester.Months.Last().Year.Should().Be(2023); } }