📄 Colors/tests/OklchConverterTests/RoundTrip.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Shouldly;
using SixLabors.ImageSharp.PixelFormats;

namespace Mosaic.Colors.Tests.OklchConverterTests;

[TestClass]
public sealed class RoundTrip
{
    [TestMethod]
    public void RoundTripable()
    {
        // Arrange
        var rgb = new Rgba32(0xBA, 0xDA, 0x55);

        // Act
        var oklch = rgb.ToScaledOklch();
        var rgb2 = oklch.FromScaledOklch();

        // Assert
        ((float)rgb2.R).ShouldBe(rgb.R, 1.0f);
        ((float)rgb2.G).ShouldBe(rgb.G, 1.0f);
        ((float)rgb2.B).ShouldBe(rgb.B, 1.0f);
    }
}