Пример #1
0
        public void VRageHSVColorTest()
        {
            // hue Slider is 0~360. Stored as 0~1.
            // saturation Slider is 0~1. Stored as -1~1.
            // value Slider is 0~1. Stored as -1~1.

            var hsvColors = new Dictionary <string, SerializableVector3>
            {
                { "test range 1", new SerializableVector3(0, -1, -1) },
                { "test range 2", new SerializableVector3(0.5f, 0, 0) },
                { "test range 3", new SerializableVector3(1, 1, 1) },
                { "INGAME dark red", new SerializableVector3(0f, 0f, 0.05f) },
                { "INGAME dark green", new SerializableVector3(0.333333343f, -0.48f, -0.25f) },
                { "INGAME dark blue", new SerializableVector3(0.575f, 0f, 0f) },
                { "INGAME dark yellow", new SerializableVector3(0.122222222f, -0.1f, 0.26f) },
                { "INGAME dark white", new SerializableVector3(0f, -0.8f, 0.4f) },
                { "INGAME black", new SerializableVector3(0f, -0.96f, -0.5f) },
                { "INGAME light gray", new SerializableVector3(0f, -0.85f, 0.2f) },
                { "INGAME light red", new SerializableVector3(0f, 0.15f, 0.25f) },
                { "INGAME light green", new SerializableVector3(0.333333343f, -0.33f, -0.05f) },
                { "INGAME light blue", new SerializableVector3(0.575f, 0.15f, 0.2f) },
                { "INGAME light yellow", new SerializableVector3(0.122222222f, 0.05f, 0.46f) },
                { "INGAME white", new SerializableVector3(0f, -0.8f, 0.6f) },
                { "INGAME dark dark gray", new SerializableVector3(0f, -0.81f, -0.13f) },
            };

            foreach (var kvp in hsvColors)
            {
                string name = kvp.Key;
                SerializableVector3  storedHsv = kvp.Value;
                System.Drawing.Color myColor1  = storedHsv.FromHsvMaskToPaletteColor();
                SerializableVector3  newHsv    = myColor1.FromPaletteColorToHsvMask();
                System.Drawing.Color myColor2  = ((SerializableVector3)newHsv).FromHsvMaskToPaletteColor();
                Assert.AreEqual(myColor1, myColor2, $"Color '{name}' Should Equal");
            }
        }