mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
can calculate months
This commit is contained in:
@@ -31,6 +31,20 @@ public class SemesterPlannerTests
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,11 @@ public class SemesterPlanner
|
||||
public IEnumerable<CalendarMonth> Months { get; }
|
||||
public SemesterPlanner(EnrollmentTermModel canvasTerm)
|
||||
{
|
||||
var monthsInTerm = canvasTerm.EndAt?.Month - canvasTerm.StartAt?.Month
|
||||
var monthsInTerm =
|
||||
1 + ((canvasTerm.EndAt?.Year - canvasTerm.StartAt?.Year) * 12)
|
||||
+ canvasTerm.EndAt?.Month - canvasTerm.StartAt?.Month
|
||||
?? throw new Exception($"Canvas Term must have a start and end date. Term: {canvasTerm.Id}, start: {canvasTerm.StartAt}, end: {canvasTerm.EndAt}");
|
||||
|
||||
Months = Enumerable.Range(1, monthsInTerm).Select(_ => new CalendarMonth());
|
||||
Months = Enumerable.Range(0, monthsInTerm).Select(_ => new CalendarMonth());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user