Esempio n. 1
0
        public void ColorRGBAHF_OperatorInequality()
        {
            ColorRGBAHF v = ColorRGBAHF.ColorRed;

            Assert.IsFalse(v != ColorRGBAHF.ColorRed);
            Assert.IsTrue(v != ColorRGBAHF.ColorGreen);
        }
Esempio n. 2
0
        public void ColorRGBAHF_Accessor()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

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

            Assert.DoesNotThrow(() => c = v[0]);
            Assert.DoesNotThrow(() => c = v[1]);
            Assert.DoesNotThrow(() => c = v[2]);
            Assert.DoesNotThrow(() => c = v[3]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[+4]);
            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.DoesNotThrow(() => v[3] = 1.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[+4] = 0.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[-1] = 0.0f);

            Assert.DoesNotThrow(() => v[3] = 0.0f);
            Assert.DoesNotThrow(() => v[3] = 1.0f);
            Assert.Throws <InvalidOperationException>(() => v[3] = -1.0f);
            Assert.Throws <InvalidOperationException>(() => v[3] = +1.1f);
        }
Esempio n. 3
0
        public void ColorRGBAHF_Equals_ColorRGBAHF()
        {
            ColorRGBAHF v = ColorRGBAHF.ColorRed;

            Assert.IsTrue(v.Equals(ColorRGBAHF.ColorRed));
            Assert.IsFalse(v.Equals(ColorRGBAHF.ColorGreen));
            Assert.IsFalse(v.Equals(ColorRGBAHF.ColorBlue));
        }
Esempio n. 4
0
        public void ColorRGBHF_CastToRGBA()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBHF  v     = new ColorRGBHF(r, g, b);
            ColorRGBAHF vRGBA = v;
        }
Esempio n. 5
0
        public void ColorRGBAHF_PixelType()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            Assert.AreNotEqual(PixelLayout.None, v.PixelType);
        }
Esempio n. 6
0
        public void ColorRGBAHF_GetHashCode()
        {
            HalfFloat r = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat g = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat b = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat a = (HalfFloat)NextComponent(HalfFloat.MaxValue);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            Assert.DoesNotThrow(() => v.GetHashCode());
        }
Esempio n. 7
0
        public void ColorRGBAHF_Equals_Object()
        {
            ColorRGBAHF v = ColorRGBAHF.ColorRed;

            Assert.IsFalse(v.Equals(null));
            Assert.IsFalse(v.Equals(String.Empty));
            Assert.IsFalse(v.Equals(0.0f));

            Assert.IsTrue(v.Equals((object)ColorRGBAHF.ColorRed));
            Assert.IsFalse(v.Equals((object)ColorRGBAHF.ColorGreen));
            Assert.IsFalse(v.Equals((object)ColorRGBAHF.ColorBlue));
        }
Esempio n. 8
0
        public void ColorRGBAHF_TestConstructor1()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

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

            Assert.AreEqual(r, v.r);
            Assert.AreEqual(g, v.g);
            Assert.AreEqual(b, v.b);
            Assert.AreEqual((HalfFloat)1.0f, v.a);
        }
Esempio n. 9
0
        public void ColorRGBHF_CastToRGBA()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBHF  v     = new ColorRGBHF(r, g, b);
            ColorRGBAHF vRGBA = v;

            Assert.AreEqual(v.Red, vRGBA.Red);
            Assert.AreEqual(v.Green, vRGBA.Green);
            Assert.AreEqual(v.Blue, vRGBA.Blue);
            Assert.AreEqual((HalfFloat)1.0f, vRGBA.Alpha);
        }
Esempio n. 10
0
        public void ColorRGBAHF_CastToVertex4()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v      = new ColorRGBAHF(r, g, b, a);
            Vertex4hf   vArray = v;

            Assert.AreEqual(r, vArray.x);
            Assert.AreEqual(g, vArray.y);
            Assert.AreEqual(b, vArray.z);
            Assert.AreEqual(a, vArray.w);
        }
Esempio n. 11
0
        public void ColorRGBAHF_TestConstructor2()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat a      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            Assert.AreEqual(r, v.r);
            Assert.AreEqual(g, v.g);
            Assert.AreEqual(b, v.b);
            Assert.AreEqual(a, v.a);
        }
Esempio n. 12
0
        public void ColorRGBAHF_Multiply()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);
            ColorRGBAHF c = v * 0.5f;

            c = c * 2.0f;

            Assert.AreEqual(c.r, v.r, 1.0);
            Assert.AreEqual(c.g, v.g, 1.0);
            Assert.AreEqual(c.b, v.b, 1.0);
            Assert.AreEqual(c.a, v.a, 1.0);
        }
Esempio n. 13
0
        public void ColorRGBAHF_CastToArray()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            HalfFloat[] vArray = v;

            Assert.AreEqual(4, vArray.Length);
            Assert.AreEqual(r, vArray[0]);
            Assert.AreEqual(g, vArray[1]);
            Assert.AreEqual(b, vArray[2]);
            Assert.AreEqual(a, vArray[3]);
        }
Esempio n. 14
0
        public void ColorRGBAHF_CastFromColor()
        {
            const double Epsilon = 1e-2;

            double r = NextComponent(1.0);
            double g = NextComponent(1.0);
            double b = NextComponent(1.0);
            double a = NextComponent(1.0);

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

            ColorRGBAHF v = (ColorRGBAHF)c;

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