using MeetTheTeacher.Model; using MeetTheTeacher.Model.Comparison; namespace MeetTheTeacher.Test.Model.Comparison; public sealed class ByNameComparerTests { [Fact] public void Compare_Ascending_BothNull() { var comparer = new ByNameComparer(true); comparer.Compare(null, null).Should().Be(0); } [Fact] public void Compare_Ascending_FirstNull() { var teacher2 = new Teacher("Teacher2"); var comparer = new ByNameComparer(true); comparer.Compare(null, teacher2).Should().Be(1); } [Fact] public void Compare_Ascending_SecondNull() { var teacher1 = new Teacher("Teacher1"); var comparer = new ByNameComparer(true); comparer.Compare(teacher1, null).Should().Be(-1); } [Fact] public void Compare_Ascending_DifferentNames() { var teacher1 = new Teacher("Teacher1"); var teacher2 = new Teacher("Teacher2"); var comparer = new ByNameComparer(true); comparer.Compare(teacher1, teacher2).Should().Be(-1); } [Fact] public void Compare_Descending_FirstNull() { var teacher2 = new Teacher("Teacher2"); var comparer = new ByNameComparer(false); comparer.Compare(null, teacher2).Should().Be(-1); } [Fact] public void Compare_Descending_SecondNull() { var teacher1 = new Teacher("Teacher1"); var comparer = new ByNameComparer(false); comparer.Compare(teacher1, null).Should().Be(1); } [Fact] public void Compare_Descending_DifferentNames() { var teacher1 = new Teacher("Teacher1"); var teacher2 = new Teacher("Teacher2"); var comparer = new ByNameComparer(false); comparer.Compare(teacher1, teacher2).Should().Be(1); } }