mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
passing canvas models tests
This commit is contained in:
@@ -1,10 +1,36 @@
|
|||||||
|
using CanvasModel.EnrollmentTerms;
|
||||||
|
|
||||||
namespace Management.Test;
|
namespace Management.Test;
|
||||||
|
|
||||||
public class SemesterPlannerTests
|
public class SemesterPlannerTests
|
||||||
{
|
{
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCanCreatePlannerFromCanvasSemester()
|
public void TestCanCreatePlanner()
|
||||||
{
|
{
|
||||||
// var
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,13 @@
|
|||||||
|
using CanvasModel.EnrollmentTerms;
|
||||||
|
|
||||||
public class SemesterPlanner
|
public class SemesterPlanner
|
||||||
{
|
{
|
||||||
|
public IEnumerable<CalendarMonth> Months { get; }
|
||||||
|
public SemesterPlanner(EnrollmentTermModel canvasTerm)
|
||||||
|
{
|
||||||
|
var monthsInTerm = 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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user