Exemplo n.º 1
0
        public void ColorRGB96_CastFromColor()
        {
            const double Epsilon = 0.25;

            Random random = new Random();
            double r      = NextComponent(random, 1.0);
            double g      = NextComponent(random, 1.0);
            double b      = NextComponent(random, 1.0);

            Color c = Color.FromArgb(byte.MaxValue, (int)(r * byte.MaxValue), (int)(g * byte.MaxValue), (int)(b * byte.MaxValue));

            ColorRGB96 v = (ColorRGB96)c;

            Assert.AreEqual((float)r, v[0], Epsilon);
            Assert.AreEqual((float)g, v[1], Epsilon);
            Assert.AreEqual((float)b, v[2], Epsilon);

            // Not influenced by alpha
            c = Color.FromArgb(0, (int)(r * byte.MaxValue), (int)(g * byte.MaxValue), (int)(b * byte.MaxValue));
            v = (ColorRGB96)c;

            Assert.AreEqual((float)r, v[0], Epsilon);
            Assert.AreEqual((float)g, v[1], Epsilon);
            Assert.AreEqual((float)b, v[2], Epsilon);
        }
Exemplo n.º 2
0
        public void ColorRGB96_Accessor()
        {
            uint r = (uint)NextComponent(uint.MaxValue);
            uint g = (uint)NextComponent(uint.MaxValue);
            uint b = (uint)NextComponent(uint.MaxValue);

            ColorRGB96 v = new ColorRGB96(r, g, b);
            float      c;

            Assert.DoesNotThrow(() => c = v[0]);
            Assert.DoesNotThrow(() => c = v[1]);
            Assert.DoesNotThrow(() => c = v[2]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[+3]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[-1]);

            Assert.DoesNotThrow(() => v[0] = 1.0f);
            Assert.DoesNotThrow(() => v[1] = 1.0f);
            Assert.DoesNotThrow(() => v[2] = 1.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[+3] = 0.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[-1] = 0.0f);

            Assert.DoesNotThrow(() => v[2] = 0.0f);
            Assert.DoesNotThrow(() => v[2] = 1.0f);
            Assert.Throws <InvalidOperationException>(() => v[2] = -1.0f);
            Assert.Throws <InvalidOperationException>(() => v[2] = +1.1f);
        }
Exemplo n.º 3
0
        public void GetClampedTest()
        {
            ColorRGB96 input    = new ColorRGB96(2.0f, -3.0f, 0.5f);
            ColorRGB96 expected = new ColorRGB96(1.0f, 0.0f, 0.5f);

            ColorRGB96 actual = input.GetClamped();

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 4
0
        public void ClampTest()
        {
            ColorRGB96 actual   = new ColorRGB96(2.0f, -3.0f, 0.5f);
            ColorRGB96 expected = new ColorRGB96(1.0f, 0.0f, 0.5f);

            actual.Clamp();

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 5
0
        public void CompressTest()
        {
            ColorRGB96 actual   = new ColorRGB96(2.0f, 1.0f, 0.5f);
            ColorRGB96 expected = new ColorRGB96(1.0f, 0.5f, 0.25f);

            actual.Compress();

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 6
0
        public void ColorRGB96_PixelType()
        {
            uint r = (uint)NextComponent(uint.MaxValue);
            uint g = (uint)NextComponent(uint.MaxValue);
            uint b = (uint)NextComponent(uint.MaxValue);

            ColorRGB96 v = new ColorRGB96(r, g, b);

            Assert.AreNotEqual(PixelLayout.None, v.PixelType);
        }
Exemplo n.º 7
0
        public void ColorRGB96_TestConstructor1()
        {
            uint r = (uint)uint.MaxValue;
            uint g = (uint)uint.MaxValue;
            uint b = (uint)uint.MaxValue;

            ColorRGB96 v = new ColorRGB96(r, g, b);

            Assert.AreEqual(r, v.Red);
            Assert.AreEqual(g, v.Green);
            Assert.AreEqual(b, v.Blue);
        }
Exemplo n.º 8
0
        public void ColorRGB96_CastToVertex4()
        {
            uint r = (uint)NextComponent(uint.MaxValue);
            uint g = (uint)NextComponent(uint.MaxValue);
            uint b = (uint)NextComponent(uint.MaxValue);

            ColorRGB96 v      = new ColorRGB96(r, g, b);
            Vertex3ui  vArray = v;

            Assert.AreEqual(r, vArray.x);
            Assert.AreEqual(g, vArray.y);
            Assert.AreEqual(b, vArray.z);
        }
Exemplo n.º 9
0
        public void GetClampedShouldEqualClamp()
        {
            ColorRGB96 input = new ColorRGB96(1.5f, 0.4f, -51.5f);

            ColorRGB96 clamp = input.GetClamped();

            input.Clamp();

            bool expected = true;
            bool actual   = clamp == input;

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 10
0
        public void GetCompressedShouldEqualCompress()
        {
            ColorRGB96 input = new ColorRGB96(1.5f, 0.4f, -51.5f);

            ColorRGB96 compress = input.GetCompressed();

            input.Compress();

            bool expected = true;
            bool actual   = compress == input;

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 11
0
        public void ColorRGB96_CastToArray()
        {
            uint r = (uint)NextComponent(uint.MaxValue);
            uint g = (uint)NextComponent(uint.MaxValue);
            uint b = (uint)NextComponent(uint.MaxValue);

            ColorRGB96 v = new ColorRGB96(r, g, b);

            uint[] vArray = v;

            Assert.AreEqual(3, vArray.Length);
            Assert.AreEqual(r, vArray[0]);
            Assert.AreEqual(g, vArray[1]);
            Assert.AreEqual(b, vArray[2]);
        }