public void InstanceIdToColorMappingTests_ThrowExceptionIdTooLarge() { Assert.Throws <IndexOutOfRangeException>(() => InstanceIdToColorMapping.GetColorFromInstanceId(uint.MaxValue)); var c = new Color32(255, 255, 255, 0); Assert.Throws <IndexOutOfRangeException>(() => InstanceIdToColorMapping.GetInstanceIdFromColor(c)); }
public void InstanceIdToColorMappingTests_ToAndFromPackedColor(byte r, byte g, byte b, byte a, uint expected) { var color = new Color32(r, g, b, a); var packed = InstanceIdToColorMapping.GetPackedColorFromColor(color); Assert.AreEqual(packed, expected); var c = InstanceIdToColorMapping.GetColorFromPackedColor(packed); Assert.AreEqual(r, c.r); Assert.AreEqual(g, c.g); Assert.AreEqual(b, c.b); Assert.AreEqual(a, c.a); }
public void InstanceIdToColorMappingTests_TestHslColors() { for (var i = 1u; i <= 64u; i++) { Assert.IsTrue(InstanceIdToColorMapping.TryGetColorFromInstanceId(i, out var color)); Assert.IsTrue(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id)); Assert.AreEqual(i, id); color = InstanceIdToColorMapping.GetColorFromInstanceId(i); id = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(i, id); } }
public void InstanceIdToColorMappingTests_GetCorrectValuesFor255() { var expectedColor = new Color32(19, 210, 0, 255); Assert.IsTrue(InstanceIdToColorMapping.TryGetColorFromInstanceId(255u, out var color)); Assert.AreEqual(expectedColor, color); Assert.IsTrue(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id2)); Assert.AreEqual(255u, id2); color = InstanceIdToColorMapping.GetColorFromInstanceId(255u); Assert.AreEqual(expectedColor, color); id2 = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(255u, id2); }
public void InstanceIdToColorMappingTests_TestColorForId(uint id, byte r, byte g, byte b, byte a) { Assert.IsTrue(InstanceIdToColorMapping.TryGetColorFromInstanceId(id, out var color)); var expected = new Color32(r, g, b, a); Assert.AreEqual(expected, color); Assert.IsTrue(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id2)); Assert.AreEqual(id, id2); color = InstanceIdToColorMapping.GetColorFromInstanceId(id); Assert.AreEqual(expected, color); id2 = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(id, id2); }
public void InstanceIdToColorMappingTests_GetBlackForId(uint id) { Assert.IsFalse(InstanceIdToColorMapping.TryGetColorFromInstanceId(id, out var color)); Assert.AreEqual(color.r, 0); Assert.AreEqual(color.g, 0); Assert.AreEqual(color.b, 0); Assert.AreEqual(color.a, 255); Assert.IsFalse(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id2)); Assert.AreEqual(0, id2); color = InstanceIdToColorMapping.GetColorFromInstanceId(id); Assert.AreEqual(color.r, 0); Assert.AreEqual(color.g, 0); Assert.AreEqual(color.b, 0); Assert.AreEqual(color.a, 255); id2 = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(0, id2); }
public void InstanceIdToColorMappingTests_TestColorForId(uint id, byte r, byte g, byte b, byte a) { Assert.IsTrue(InstanceIdToColorMapping.TryGetColorFromInstanceId(id, out var color)); Assert.AreEqual(color.r, r); Assert.AreEqual(color.g, g); Assert.AreEqual(color.b, b); Assert.AreEqual(color.a, a); Assert.IsTrue(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id2)); Assert.AreEqual(id, id2); color = InstanceIdToColorMapping.GetColorFromInstanceId(id); Assert.AreEqual(color.r, r); Assert.AreEqual(color.g, g); Assert.AreEqual(color.b, b); Assert.AreEqual(color.a, a); id2 = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(id, id2); }
public void InstanceIdToColorMappingTests_GetCorrectValuesFor255() { var expectedColor = new Color(0, 0, 191, 254); Assert.IsTrue(InstanceIdToColorMapping.TryGetColorFromInstanceId(255u, out var color)); Assert.AreEqual(color.r, expectedColor.r); Assert.AreEqual(color.g, expectedColor.g); Assert.AreEqual(color.b, expectedColor.b); Assert.AreEqual(color.a, expectedColor.a); Assert.IsTrue(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id2)); Assert.AreEqual(255u, id2); color = InstanceIdToColorMapping.GetColorFromInstanceId(255u); Assert.AreEqual(color.r, expectedColor.r); Assert.AreEqual(color.g, expectedColor.g); Assert.AreEqual(color.b, expectedColor.b); Assert.AreEqual(color.a, expectedColor.a); id2 = InstanceIdToColorMapping.GetInstanceIdFromColor(color); Assert.AreEqual(255u, id2); }
public void InstanceIdToColorMappingTests_TryGetReturnsFalseIdNotMapped() { var c = new Color32(28, 92, 14, 255); Assert.IsFalse(InstanceIdToColorMapping.TryGetInstanceIdFromColor(c, out var id)); }
public void InstanceIdToColorMappingTests_ThrowExceptionIdNotMapped() { var c = new Color32(28, 92, 14, 255); Assert.Throws <InvalidOperationException>(() => InstanceIdToColorMapping.GetInstanceIdFromColor(c)); }
public void InstanceIdToColorMappingTests_TryGetReturnsFalseIdTooLarge() { Assert.IsFalse(InstanceIdToColorMapping.TryGetColorFromInstanceId(uint.MaxValue, out var color)); color = new Color32(255, 255, 255, 0); Assert.IsFalse(InstanceIdToColorMapping.TryGetInstanceIdFromColor(color, out var id)); }
public static IEnumerable ProducesCorrectBoundingBoxesTestCases() { InstanceIdToColorMapping.TryGetColorFromInstanceId(1, out var color1); InstanceIdToColorMapping.TryGetColorFromInstanceId(2, out var color2); var empty = Color.black; yield return(new ProducesCorrectObjectInfoData( new Color32[] { color1, color1, color1, color1 }, new[] { new RenderedObjectInfo() { boundingBox = new Rect(0, 0, 2, 2), instanceId = 1, pixelCount = 4, instanceColor = color1 } }, 2, BoundingBoxOrigin.BottomLeft, "SimpleBox")); yield return(new ProducesCorrectObjectInfoData( new Color32[] { color1, empty, color2, color1, empty, empty }, new[] { new RenderedObjectInfo() { boundingBox = new Rect(2, 0, 1, 1), instanceId = 2, pixelCount = 1, instanceColor = color2 }, new RenderedObjectInfo() { boundingBox = new Rect(0, 0, 1, 2), instanceId = 1, pixelCount = 2, instanceColor = color1 } }, 3, BoundingBoxOrigin.BottomLeft, "WithGaps")); yield return(new ProducesCorrectObjectInfoData( new Color32[] { color1, color2, color1, color1, color2, color1 }, new[] { new RenderedObjectInfo() { boundingBox = new Rect(1, 0, 1, 2), instanceId = 2, pixelCount = 2, instanceColor = color2 }, new RenderedObjectInfo() { boundingBox = new Rect(0, 0, 3, 2), instanceId = 1, pixelCount = 4, instanceColor = color1 } }, 3, BoundingBoxOrigin.BottomLeft, "Interleaved")); yield return(new ProducesCorrectObjectInfoData( new Color32[] { empty, empty, empty, empty, empty, color1 }, new[] { new RenderedObjectInfo() { boundingBox = new Rect(1, 0, 1, 1), instanceId = 1, pixelCount = 1, instanceColor = color1 }, }, 2, BoundingBoxOrigin.TopLeft, "TopLeft")); }