private TestColor TestColorXYZ()
        {
            var color       = ColorXYZ.FromColor(testColor);
            var color2      = (ColorRGB)color.ToRgb();;
            var nativeValue = string.Format("X:{0:0.00#} Y:{1:0.00#} Z:{2:0.00#}", color.X, color.Y, color.Z);

            return(new TestColor {
                Name = "XYZ", Value = color2.ToHex(), NativeValue = nativeValue
            });
        }
        public void RGBtoXYZConversion()
        {
            var rgb          = ColorRGB.FromHex("#6653B2");
            var xyz          = (ColorXYZ)ColorXYZ.FromColor(rgb);
            var rgbConverted = (ColorRGB)xyz.ToRgb();

            // LAB
            var x = Math.Round(xyz.X, 2);
            var y = Math.Round(xyz.Y, 2);
            var z = Math.Round(xyz.Z, 2);

            Assert.AreEqual(x, 16.61);
            Assert.AreEqual(y, 12.23);
            Assert.AreEqual(z, 43.6);

            // RGB Converted
            Assert.AreEqual(rgbConverted.Red, 102);
            Assert.AreEqual(rgbConverted.Green, 83);
            Assert.AreEqual(rgbConverted.Blue, 178);
        }