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));
        }
    }
}
