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

43 lines
1.4 KiB
C#

using MeetTheTeacher.Model;
namespace MeetTheTeacher.Test.Model;
public sealed class TeacherWithBusinessCardTests
{
[Fact]
public void ToCsvData_Valid()
{
var teacher = new TeacherWithBusinessCard("John Doe", 1)
{
ConsultingHour = new TimeFrame(new TimeOnly(10, 0),
new TimeOnly(12, 0)),
ConsultingHourUnit = SchoolUnit.UE07,
ConsultingHourWeekDay = DayOfWeek.Monday,
Room = "A1"
};
var csvData = teacher.ToCsvData();
csvData.HeaderNames.Should().Equal("Name", "Day", "ConsultingHour", "Room", "Image");
csvData.Data.Should().Equal("John Doe", "Monday", "10:00-12:00 (UE07)", "A1",
"https://www.htl-leonding.at/media/teacher-avatar/1");
}
[Fact]
public void ToCsvData_OptionalPropertiesNull()
{
var teacher = new TeacherWithBusinessCard("Jane Doe", 2)
{
ConsultingHour = null,
ConsultingHourUnit = null,
ConsultingHourWeekDay = null,
Room = null
};
var csvData = teacher.ToCsvData();
csvData.HeaderNames.Should().Equal("Name", "Day", "ConsultingHour", "Room", "Image");
csvData.Data.Should().Equal("Jane Doe", string.Empty, string.Empty, string.Empty,
"https://www.htl-leonding.at/media/teacher-avatar/2");
}
}