41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
using MeetTheTeacher.Model;
|
|
|
|
namespace MeetTheTeacher.Test.Model;
|
|
|
|
public sealed class TeacherTests
|
|
{
|
|
[Fact]
|
|
public void ToCsvData_Valid()
|
|
{
|
|
var teacher = new Teacher("John Doe")
|
|
{
|
|
ConsultingHour = new TimeFrame(new TimeOnly(10, 0),
|
|
new TimeOnly(12, 0)),
|
|
ConsultingHourUnit = SchoolUnit.UE01,
|
|
ConsultingHourWeekDay = DayOfWeek.Monday,
|
|
Room = "A1"
|
|
};
|
|
|
|
var csvData = teacher.ToCsvData();
|
|
|
|
csvData.HeaderNames.Should().Equal("Name", "Day", "ConsultingHour", "Room");
|
|
csvData.Data.Should().ContainInOrder("John Doe", "Monday", "10:00-12:00 (UE01)", "A1");
|
|
}
|
|
|
|
[Fact]
|
|
public void ToCsvData_OptionalPropertiesNull()
|
|
{
|
|
var teacher = new Teacher("Jane Doe")
|
|
{
|
|
ConsultingHour = null,
|
|
ConsultingHourUnit = null,
|
|
ConsultingHourWeekDay = null,
|
|
Room = null
|
|
};
|
|
|
|
var csvData = teacher.ToCsvData();
|
|
|
|
csvData.HeaderNames.Should().Equal("Name", "Day", "ConsultingHour", "Room");
|
|
csvData.Data.Should().ContainInOrder("Jane Doe", string.Empty, string.Empty, string.Empty);
|
|
}
|
|
}
|