Files
PolyTraderSharp/tests/PolyTrader.Tests/TradeRowColoringTests.cs
T
RichardandClaude Opus 5 5320d25d6d P1b: System.Drawing aus der Fachlogik entfernt
- TradeRowColoring liefert jetzt eine TradeRowTint-Kategorie (Loss/SmallWin/BigWin)
  statt einer System.Drawing.Color. Die Schwellenlogik bleibt getestet, die konkrete
  Farbe legt die UI fest (neu: Ui/TradeRowPalette.cs im CopyTrading-Modul).
  Bessere Schichtung und Voraussetzung dafuer, dass das Modul spaeter net8.0 wird.
- TradeRowColoringTests prueft die Kategorie statt der Farbe (gleiche Abdeckung).
- Models/DashboardRow.cs: verwaistes using System.Drawing entfernt.

System.Drawing liegt damit ausschliesslich noch in UI-Ordnern - die Fachlogik in
Core und Modulen ist frei davon.

442 Tests gruen, --smoke-ui gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 17:13:14 +02:00

27 lines
1.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using PolyTrader.Modules.CopyTrading.Logic;
using Xunit;
namespace PolyTrader.Tests
{
/// <summary>
/// Sicherheitsnetz für die PnL-Zeileneinstufung (Slice 3): Schwellen 0 und 10 %.
/// Prüft seit der Linux-Portierung die Kategorie statt der Farbe die Schwellenlogik ist
/// das Fachliche, die konkrete Farbe Sache der jeweiligen UI (siehe TradeRowPalette).
/// </summary>
public class TradeRowColoringTests
{
[Theory]
[InlineData(-0.01, TradeRowTint.Loss)]
[InlineData(-25.0, TradeRowTint.Loss)]
[InlineData(0.0, TradeRowTint.SmallWin)] // Break-even = kein Verlust
[InlineData(5.0, TradeRowTint.SmallWin)]
[InlineData(10.0, TradeRowTint.SmallWin)] // genau 10 % noch kleiner Gewinn
[InlineData(10.01, TradeRowTint.BigWin)]
[InlineData(80.0, TradeRowTint.BigWin)]
public void Tint_matches_threshold(double pct, TradeRowTint expected)
{
Assert.Equal(expected, TradeRowColoring.ForPnlPercent((decimal)pct));
}
}
}