ex-int-02-meet-the-teacher/MeetTheTeacher.Test/Model/Comparison/ByHourComparerTests.cs
github-classroom[bot] 1be1863b20
Initial commit
2025-04-24 07:02:41 +00:00

142 lines
3.9 KiB
C#

using MeetTheTeacher.Model;
using MeetTheTeacher.Model.Comparison;
namespace MeetTheTeacher.Test.Model.Comparison;
public sealed class ByHourComparerTests
{
[Fact]
public void Compare_Ascending_BothNull()
{
var comparer = new ByHourComparer(true);
comparer.Compare(null, null).Should().Be(0);
}
[Fact]
public void Compare_Ascending_FirstNull()
{
var comparer = new ByHourComparer(true);
var teacher2 = new Teacher("Teacher2") {
ConsultingHourWeekDay = DayOfWeek.Tuesday,
ConsultingHourUnit = SchoolUnit.UE02
};
comparer.Compare(null, teacher2).Should().Be(1);
}
[Fact]
public void Compare_Ascending_SecondNull()
{
var comparer = new ByHourComparer(true);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
comparer.Compare(teacher1, null).Should().Be(-1);
}
[Fact]
public void Compare_Ascending_DifferentWeekDays()
{
var comparer = new ByHourComparer(true);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
var teacher2 = new Teacher("Teacher2")
{
ConsultingHourWeekDay = DayOfWeek.Tuesday,
ConsultingHourUnit = SchoolUnit.UE01
};
comparer.Compare(teacher1, teacher2).Should().Be(-1);
}
[Fact]
public void Compare_Ascending_DifferentConsultingHours()
{
var comparer = new ByHourComparer(true);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE02
};
var teacher2 = new Teacher("Teacher2")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
int result = comparer.Compare(teacher1, teacher2);
result.Should().Be(1);
}
[Fact]
public void Compare_Descending_FirstNull()
{
var comparer = new ByHourComparer(false);
var teacher2 = new Teacher("Teacher2")
{
ConsultingHourWeekDay = DayOfWeek.Tuesday,
ConsultingHourUnit = SchoolUnit.UE02
};
comparer.Compare(null, teacher2).Should().Be(-1);
}
[Fact]
public void Compare_Descending_SecondNull()
{
var comparer = new ByHourComparer(false);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
comparer.Compare(teacher1, null).Should().Be(1);
}
[Fact]
public void Compare_Descending_DifferentWeekDays()
{
var comparer = new ByHourComparer(false);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
var teacher2 = new Teacher("Teacher2")
{
ConsultingHourWeekDay = DayOfWeek.Tuesday,
ConsultingHourUnit = SchoolUnit.UE01
};
comparer.Compare(teacher1, teacher2).Should().Be(1);
}
[Fact]
public void Compare_Descending_DifferentConsultingHours()
{
var comparer = new ByHourComparer(false);
var teacher1 = new Teacher("Teacher1")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE02
};
var teacher2 = new Teacher("Teacher2")
{
ConsultingHourWeekDay = DayOfWeek.Monday,
ConsultingHourUnit = SchoolUnit.UE01
};
int result = comparer.Compare(teacher1, teacher2);
result.Should().Be(-1);
}
}