142 lines
3.9 KiB
C#
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);
|
|
}
|
|
}
|