using LehrerApp.Core.Models; using LehrerApp.Desktop.ViewModels.Groups; using Xunit; namespace LehrerApp.Desktop.Tests; public sealed class LessonStatusDisplayTests { [Theory] [InlineData(LessonStatus.Draft, "Entwurf")] [InlineData(LessonStatus.Ready, "Bereit")] [InlineData(LessonStatus.Conducted, "Durchgeführt")] [InlineData(LessonStatus.Cancelled, "Ausgefallen")] [InlineData(LessonStatus.Planned, "Geplant")] public void ToName_FromName_RoundTrip(LessonStatus status, string expectedName) { Assert.Equal(expectedName, LessonStatusDisplay.ToName(status)); Assert.Equal(status, LessonStatusDisplay.FromName(expectedName)); } [Fact] public void UnitSummary_AusgefalleneStundenZaehlenWederAlsGehaltenNochAlsPensum() { var unit = new Unit { Title = "Optik" }; var lessons = new List { new() { Status = LessonStatus.Conducted }, new() { Status = LessonStatus.Cancelled }, new() { Status = LessonStatus.Ready }, }; var summary = new UnitSummary(unit, lessons); Assert.Equal(2, summary.TotalCount); Assert.Equal(1, summary.ConductedCount); Assert.Equal(0.5, summary.ProgressFraction); } }