using Flaro.Core.Library;
namespace Flaro.Core.Tests;
/// Der Satz, der in der Verwaltung mitläuft.
///
///
/// Warum das geprüft wird. Die Markensuche läuft über Stunden und
/// hat bisher gar nichts gemeldet — in der Verwaltung stand das Ergebnis
/// des längst beendeten Scans, während der Server noch jede Folge
/// durchhörte. Sie benutzt jetzt denselben Weg wie der Scan, und der Satz
/// entsteht hier, nicht in der Oberfläche: die Apps brauchen denselben.
///
public class ScanschrittTests
{
/// Mit Zähler, wenn die Gesamtzahl bekannt ist.
[Test]
public void Die_Markensuche_nennt_Titel_und_Zaehler()
{
var schritt = new Scanschritt(
Scanphase.Marken, "Biohackers S02E01 · Neuanfang", 12, 95);
Assert.That(schritt.Text(),
Is.EqualTo("Suche Vorspann und Abspann: Biohackers S02E01 · Neuanfang — 12 von 95"));
}
/// Ohne Gesamtzahl kein Zähler — „3 von 0" wäre eine Falschauskunft.
[Test]
public void Ohne_Gesamtzahl_steht_nur_der_Titel()
{
var schritt = new Scanschritt(Scanphase.Marken, "Arrival (2016)");
Assert.That(schritt.Text(), Is.EqualTo("Suche Vorspann und Abspann: Arrival (2016)"));
}
/// Die vorhandenen Phasen bleiben, wie sie waren.
///
///
/// Eine neue Phase in der Mitte der Aufzählung hätte die gespeicherten
/// Zahlen verschoben — hier steht, dass die Sätze unverändert sind.
///
[Test]
public void Der_Scan_sagt_weiterhin_dasselbe()
{
Assert.Multiple(() =>
{
Assert.That(new Scanschritt(Scanphase.Pruefen, "a/b/c.mkv", 7, 9).Text(),
Is.EqualTo("Prüfe b/c.mkv — 7 von 9"));
Assert.That(new Scanschritt(Scanphase.Aufraeumen, "").Text(),
Is.EqualTo("Räume auf und lege Doppeltes zusammen"));
Assert.That(new Scanschritt(Scanphase.Vermerk, "Serie angelegt").Text(),
Is.EqualTo("Serie angelegt"));
});
}
}