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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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]); }