Notentendenzen (3+/2-) korrekt in Notenschnitt einrechnen, Abschnittsende-Vorschlag aus Einheit
CI / build-and-test (push) Canceled after 0s

Bisher liess int.TryParse jede Note mit Tendenz durchfallen und WeightedAverage rechnete den
betroffenen Bereich mit 0 statt sie auszulassen - faelschte Notenuebersicht, Zielnoten- und
Was-waere-wenn-Rechner. Ausserdem schlaegt der Mitarbeits-Assistent beim Abschnitt-Abschliessen
jetzt das Ende der zuletzt abgeschlossenen Unterrichtseinheit statt immer "heute" vor.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 13:24:16 +02:00
co-authored by Claude Sonnet 5
parent 1215d4ac22
commit a088823b30
5 changed files with 75 additions and 3 deletions
+19
View File
@@ -181,6 +181,25 @@ public class GradingServiceTests
Assert.Equal(0, result);
}
[Theory]
[InlineData("3+", 2.6667)]
[InlineData("2-", 2.3333)]
[InlineData("1+", 0.6667)]
[InlineData("6-", 6.3333)]
public void WeightedAverage_NotenMitTendenz_VerschiebtUmEinDrittel(string grade, double expected)
{
var result = _sut.WeightedAverage([(grade, 1.0)]);
Assert.Equal(expected, result, precision: 4);
}
[Fact]
public void WeightedAverage_NotenMitTendenzGemischtMitGanzenNoten_GewichtetKorrekt()
{
// (3+ [2,667] + 2 [2,0]) / 2 = 2,333
var result = _sut.WeightedAverage([("3+", 1.0), ("2", 1.0)]);
Assert.Equal(2.3333, result, precision: 4);
}
// ── RoundToGrade ──────────────────────────────────────────────────────────
[Fact]