Changed all namespaces to file-scope

This commit is contained in:
DarthAffe committed 2021-11-13 17:35:08 +01:00
1 parent a0c6ccebea
commit 30624035f1
353 files changed
+35775 -36129

No files matched your search

+400 -401
View File
@@ -1,407 +1,406 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace RGB.NET.Core.Tests.Color
namespace RGB.NET.Core.Tests.Color;
[TestClass]
public class ColorTest
{
[TestClass]
public class ColorTest
#region Basics
[TestMethod]
public void VerifyTransparent()
{
#region Basics
Core.Color transparent = Core.Color.Transparent;
[TestMethod]
public void VerifyTransparent()
{
Core.Color transparent = Core.Color.Transparent;
Assert.AreEqual(0, transparent.GetA(), "A is not 0");
Assert.AreEqual(0, transparent.GetR(), "R is not 0");
Assert.AreEqual(0, transparent.GetG(), "G is not 0");
Assert.AreEqual(0, transparent.GetB(), "B is not 0");
}
[TestMethod]
public void ToStringTest()
{
Core.Color color = new(255, 120, 13, 1);
Assert.AreEqual("[A: 255, R: 120, G: 13, B: 1]", color.ToString());
}
#region HashCode
[TestMethod]
public void GetHashCodeTestEqual()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 255);
Assert.AreEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualA()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(99, 68, 32, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualR()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 69, 32, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualG()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 200, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualB()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 0);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
#endregion
#region Equality
[TestMethod]
public void EqualityTestEqual()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 255);
Assert.IsTrue(color1.Equals(color2), $"Equals returns false on equal colors {color1} and {color2}");
Assert.IsTrue(color1 == color2, $"Equal-operator returns false on equal colors {color1} and {color2}");
Assert.IsFalse(color1 != color2, $"Not-Equal-operator returns true on equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualA()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(99, 68, 32, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualR()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 69, 32, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualG()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 200, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualB()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 0);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
#endregion
#endregion
#region Constructors
[TestMethod]
public void RGBByteConstructorTest()
{
Core.Color color = new((byte)10, (byte)120, (byte)255);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void ARGBByteConstructorTest()
{
Core.Color color = new((byte)200, (byte)10, (byte)120, (byte)255);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void RGBIntConstructorTest()
{
Core.Color color = new(10, 120, 255);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void ARGBIntConstructorTest()
{
Core.Color color = new(200, 10, 120, 255);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void RGBIntConstructorClampTest()
{
Core.Color color1 = new(256, 256, 256);
Assert.AreEqual(255, color1.GetA(), "A is not 255");
Assert.AreEqual(255, color1.GetR(), "R is not 255");
Assert.AreEqual(255, color1.GetG(), "G is not 255");
Assert.AreEqual(255, color1.GetB(), "B is not 255");
Core.Color color2 = new(-1, -1, -1);
Assert.AreEqual(255, color2.GetA(), "A is not 255");
Assert.AreEqual(0, color2.GetR(), "R is not 0");
Assert.AreEqual(0, color2.GetG(), "G is not 0");
Assert.AreEqual(0, color2.GetB(), "B is not 0");
}
[TestMethod]
public void ARGBIntConstructorClampTest()
{
Core.Color color = new(256, 256, 256, 256);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(255, color.GetR(), "R is not 255");
Assert.AreEqual(255, color.GetG(), "G is not 255");
Assert.AreEqual(255, color.GetB(), "B is not 255");
Core.Color color2 = new(-1, -1, -1, -1);
Assert.AreEqual(0, color2.GetA(), "A is not 0");
Assert.AreEqual(0, color2.GetR(), "R is not 0");
Assert.AreEqual(0, color2.GetG(), "G is not 0");
Assert.AreEqual(0, color2.GetB(), "B is not 0");
}
[TestMethod]
public void RGBPercentConstructorTest()
{
Core.Color color = new(0.25341f, 0.55367f, 1);
Assert.AreEqual(1, color.A, FloatExtensions.TOLERANCE, "A is not 1");
Assert.AreEqual(0.25341, color.R, FloatExtensions.TOLERANCE, "R is not 0.25341");
Assert.AreEqual(0.55367, color.G, FloatExtensions.TOLERANCE, "G is not 0.55367");
Assert.AreEqual(1, color.B, FloatExtensions.TOLERANCE, "B is not 1");
}
[TestMethod]
public void ARGBPercentConstructorTest()
{
Core.Color color = new(0.3315f, 0.25341f, 0.55367f, 1);
Assert.AreEqual(0.3315f, color.A, FloatExtensions.TOLERANCE, "A is not 0.3315");
Assert.AreEqual(0.25341f, color.R, FloatExtensions.TOLERANCE, "R is not 0.25341");
Assert.AreEqual(0.55367f, color.G, FloatExtensions.TOLERANCE, "G is not 0.55367");
Assert.AreEqual(1, color.B, FloatExtensions.TOLERANCE, "B is not 1");
}
[TestMethod]
public void RGBPercentConstructorClampTest()
{
Core.Color color1 = new(1.1f, 1.1f, 1.1f);
Assert.AreEqual(1, color1.A, "A is not 1");
Assert.AreEqual(1, color1.R, "R is not 1");
Assert.AreEqual(1, color1.G, "G is not 1");
Assert.AreEqual(1, color1.B, "B is not 1");
Core.Color color2 = new(-1.0f, -1.0f, -1.0f);
Assert.AreEqual(1, color2.A, "A is not 1");
Assert.AreEqual(0, color2.R, "R is not 0");
Assert.AreEqual(0, color2.G, "G is not 0");
Assert.AreEqual(0, color2.B, "B is not 0");
}
[TestMethod]
public void ARGBPercentConstructorClampTest()
{
Core.Color color1 = new(1.1f, 1.1f, 1.1f, 1.1f);
Assert.AreEqual(1, color1.A, "A is not 1");
Assert.AreEqual(1, color1.R, "R is not 1");
Assert.AreEqual(1, color1.G, "G is not 1");
Assert.AreEqual(1, color1.B, "B is not 1");
Core.Color color2 = new(-1.0f, -1.0f, -1.0f, -1.0f);
Assert.AreEqual(0, color2.A, "A is not 0");
Assert.AreEqual(0, color2.R, "R is not 0");
Assert.AreEqual(0, color2.G, "G is not 0");
Assert.AreEqual(0, color2.B, "B is not 0");
}
[TestMethod]
public void CloneConstructorTest()
{
Core.Color referennceColor = new(200, 10, 120, 255);
Core.Color color = new(referennceColor);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
#endregion
#region Conversion
[TestMethod]
public void ColorFromComponentsTest()
{
Core.Color color = (255, 120, 13, 1);
Assert.AreEqual(255, color.GetA(), $"A doesn't equal the used component. ({color.GetA()} != 255)");
Assert.AreEqual(120, color.GetR(), $"R doesn't equal the used component. ({color.GetR()} != 120)");
Assert.AreEqual(13, color.GetG(), $"G doesn't equal the used component. ({color.GetG()} != 13)");
Assert.AreEqual(1, color.GetB(), $"B doesn't equal the used component. ({color.GetB()} != 1)");
}
[TestMethod]
public void DesconstructTest()
{
(byte a, byte r, byte g, byte b) = new Core.Color(255, 120, 13, 1).GetRGBBytes();
Assert.AreEqual(255, a, $"A doesn't equal the color. ({a} != 255)");
Assert.AreEqual(120, r, $"R doesn't equal the color. ({r} != 120)");
Assert.AreEqual(13, g, $"G doesn't equal the color. ({g} != 13)");
Assert.AreEqual(1, b, $"B doesn't equal the color. ({b} != 1)");
}
[TestMethod]
public void AToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.A);
Core.Color color2 = new(255, 0, 0, 0);
Assert.AreEqual(1, color2.A);
Core.Color color3 = new(128, 0, 0, 0);
Assert.AreEqual(128 / 256.0f, color3.A);
Core.Color color4 = new(30, 0, 0, 0);
Assert.AreEqual(30 / 256.0f, color4.A);
Core.Color color5 = new(201, 0, 0, 0);
Assert.AreEqual(201 / 256.0f, color5.A);
Core.Color color6 = new(255, 0, 0, 0);
Assert.AreEqual(1f, color6.A);
}
[TestMethod]
public void RToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.R);
Core.Color color2 = new(0, 255, 0, 0);
Assert.AreEqual(1, color2.R);
Core.Color color3 = new(0, 128, 0, 0);
Assert.AreEqual(128 / 256.0f, color3.R);
Core.Color color4 = new(0, 30, 0, 0);
Assert.AreEqual(30 / 256.0f, color4.R);
Core.Color color5 = new(0, 201, 0, 0);
Assert.AreEqual(201 / 256.0f, color5.R);
Core.Color color6 = new(0, 255, 0, 0);
Assert.AreEqual(1f, color6.R);
}
[TestMethod]
public void GToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.G);
Core.Color color2 = new(0, 0, 255, 0);
Assert.AreEqual(1, color2.G);
Core.Color color3 = new(0, 0, 128, 0);
Assert.AreEqual(128 / 256.0f, color3.G);
Core.Color color4 = new(0, 0, 30, 0);
Assert.AreEqual(30 / 256.0f, color4.G);
Core.Color color5 = new(0, 0, 201, 0);
Assert.AreEqual(201 / 256.0f, color5.G);
Core.Color color6 = new(0, 0, 255, 0);
Assert.AreEqual(1f, color6.G);
}
[TestMethod]
public void BToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.B);
Core.Color color2 = new(0, 0, 0, 255);
Assert.AreEqual(1, color2.B);
Core.Color color3 = new(0, 0, 0, 128);
Assert.AreEqual(128 / 256.0f, color3.B);
Core.Color color4 = new(0, 0, 0, 30);
Assert.AreEqual(30 / 256.0f, color4.B);
Core.Color color5 = new(0, 0, 0, 201);
Assert.AreEqual(201 / 256.0f, color5.B);
Core.Color color6 = new(0, 0, 0, 255);
Assert.AreEqual(1f, color6.B);
}
#endregion
Assert.AreEqual(0, transparent.GetA(), "A is not 0");
Assert.AreEqual(0, transparent.GetR(), "R is not 0");
Assert.AreEqual(0, transparent.GetG(), "G is not 0");
Assert.AreEqual(0, transparent.GetB(), "B is not 0");
}
}
[TestMethod]
public void ToStringTest()
{
Core.Color color = new(255, 120, 13, 1);
Assert.AreEqual("[A: 255, R: 120, G: 13, B: 1]", color.ToString());
}
#region HashCode
[TestMethod]
public void GetHashCodeTestEqual()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 255);
Assert.AreEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualA()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(99, 68, 32, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualR()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 69, 32, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualG()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 200, 255);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
[TestMethod]
public void GetHashCodeTestNotEqualB()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 0);
Assert.AreNotEqual(color1.GetHashCode(), color2.GetHashCode());
}
#endregion
#region Equality
[TestMethod]
public void EqualityTestEqual()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 255);
Assert.IsTrue(color1.Equals(color2), $"Equals returns false on equal colors {color1} and {color2}");
Assert.IsTrue(color1 == color2, $"Equal-operator returns false on equal colors {color1} and {color2}");
Assert.IsFalse(color1 != color2, $"Not-Equal-operator returns true on equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualA()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(99, 68, 32, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualR()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 69, 32, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualG()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 200, 255);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
[TestMethod]
public void EqualityTestNotEqualB()
{
Core.Color color1 = new(100, 68, 32, 255);
Core.Color color2 = new(100, 68, 32, 0);
Assert.IsFalse(color1.Equals(color2), $"Equals returns true on not equal colors {color1} and {color2}");
Assert.IsFalse(color1 == color2, $"Equal-operator returns true on not equal colors {color1} and {color2}");
Assert.IsTrue(color1 != color2, $"Not-Equal-operator returns false on not equal colors {color1} and {color2}");
}
#endregion
#endregion
#region Constructors
[TestMethod]
public void RGBByteConstructorTest()
{
Core.Color color = new((byte)10, (byte)120, (byte)255);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void ARGBByteConstructorTest()
{
Core.Color color = new((byte)200, (byte)10, (byte)120, (byte)255);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void RGBIntConstructorTest()
{
Core.Color color = new(10, 120, 255);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void ARGBIntConstructorTest()
{
Core.Color color = new(200, 10, 120, 255);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
[TestMethod]
public void RGBIntConstructorClampTest()
{
Core.Color color1 = new(256, 256, 256);
Assert.AreEqual(255, color1.GetA(), "A is not 255");
Assert.AreEqual(255, color1.GetR(), "R is not 255");
Assert.AreEqual(255, color1.GetG(), "G is not 255");
Assert.AreEqual(255, color1.GetB(), "B is not 255");
Core.Color color2 = new(-1, -1, -1);
Assert.AreEqual(255, color2.GetA(), "A is not 255");
Assert.AreEqual(0, color2.GetR(), "R is not 0");
Assert.AreEqual(0, color2.GetG(), "G is not 0");
Assert.AreEqual(0, color2.GetB(), "B is not 0");
}
[TestMethod]
public void ARGBIntConstructorClampTest()
{
Core.Color color = new(256, 256, 256, 256);
Assert.AreEqual(255, color.GetA(), "A is not 255");
Assert.AreEqual(255, color.GetR(), "R is not 255");
Assert.AreEqual(255, color.GetG(), "G is not 255");
Assert.AreEqual(255, color.GetB(), "B is not 255");
Core.Color color2 = new(-1, -1, -1, -1);
Assert.AreEqual(0, color2.GetA(), "A is not 0");
Assert.AreEqual(0, color2.GetR(), "R is not 0");
Assert.AreEqual(0, color2.GetG(), "G is not 0");
Assert.AreEqual(0, color2.GetB(), "B is not 0");
}
[TestMethod]
public void RGBPercentConstructorTest()
{
Core.Color color = new(0.25341f, 0.55367f, 1);
Assert.AreEqual(1, color.A, FloatExtensions.TOLERANCE, "A is not 1");
Assert.AreEqual(0.25341, color.R, FloatExtensions.TOLERANCE, "R is not 0.25341");
Assert.AreEqual(0.55367, color.G, FloatExtensions.TOLERANCE, "G is not 0.55367");
Assert.AreEqual(1, color.B, FloatExtensions.TOLERANCE, "B is not 1");
}
[TestMethod]
public void ARGBPercentConstructorTest()
{
Core.Color color = new(0.3315f, 0.25341f, 0.55367f, 1);
Assert.AreEqual(0.3315f, color.A, FloatExtensions.TOLERANCE, "A is not 0.3315");
Assert.AreEqual(0.25341f, color.R, FloatExtensions.TOLERANCE, "R is not 0.25341");
Assert.AreEqual(0.55367f, color.G, FloatExtensions.TOLERANCE, "G is not 0.55367");
Assert.AreEqual(1, color.B, FloatExtensions.TOLERANCE, "B is not 1");
}
[TestMethod]
public void RGBPercentConstructorClampTest()
{
Core.Color color1 = new(1.1f, 1.1f, 1.1f);
Assert.AreEqual(1, color1.A, "A is not 1");
Assert.AreEqual(1, color1.R, "R is not 1");
Assert.AreEqual(1, color1.G, "G is not 1");
Assert.AreEqual(1, color1.B, "B is not 1");
Core.Color color2 = new(-1.0f, -1.0f, -1.0f);
Assert.AreEqual(1, color2.A, "A is not 1");
Assert.AreEqual(0, color2.R, "R is not 0");
Assert.AreEqual(0, color2.G, "G is not 0");
Assert.AreEqual(0, color2.B, "B is not 0");
}
[TestMethod]
public void ARGBPercentConstructorClampTest()
{
Core.Color color1 = new(1.1f, 1.1f, 1.1f, 1.1f);
Assert.AreEqual(1, color1.A, "A is not 1");
Assert.AreEqual(1, color1.R, "R is not 1");
Assert.AreEqual(1, color1.G, "G is not 1");
Assert.AreEqual(1, color1.B, "B is not 1");
Core.Color color2 = new(-1.0f, -1.0f, -1.0f, -1.0f);
Assert.AreEqual(0, color2.A, "A is not 0");
Assert.AreEqual(0, color2.R, "R is not 0");
Assert.AreEqual(0, color2.G, "G is not 0");
Assert.AreEqual(0, color2.B, "B is not 0");
}
[TestMethod]
public void CloneConstructorTest()
{
Core.Color referennceColor = new(200, 10, 120, 255);
Core.Color color = new(referennceColor);
Assert.AreEqual(200, color.GetA(), "A is not 200");
Assert.AreEqual(10, color.GetR(), "R is not 10");
Assert.AreEqual(120, color.GetG(), "G is not 120");
Assert.AreEqual(255, color.GetB(), "B is not 255");
}
#endregion
#region Conversion
[TestMethod]
public void ColorFromComponentsTest()
{
Core.Color color = (255, 120, 13, 1);
Assert.AreEqual(255, color.GetA(), $"A doesn't equal the used component. ({color.GetA()} != 255)");
Assert.AreEqual(120, color.GetR(), $"R doesn't equal the used component. ({color.GetR()} != 120)");
Assert.AreEqual(13, color.GetG(), $"G doesn't equal the used component. ({color.GetG()} != 13)");
Assert.AreEqual(1, color.GetB(), $"B doesn't equal the used component. ({color.GetB()} != 1)");
}
[TestMethod]
public void DesconstructTest()
{
(byte a, byte r, byte g, byte b) = new Core.Color(255, 120, 13, 1).GetRGBBytes();
Assert.AreEqual(255, a, $"A doesn't equal the color. ({a} != 255)");
Assert.AreEqual(120, r, $"R doesn't equal the color. ({r} != 120)");
Assert.AreEqual(13, g, $"G doesn't equal the color. ({g} != 13)");
Assert.AreEqual(1, b, $"B doesn't equal the color. ({b} != 1)");
}
[TestMethod]
public void AToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.A);
Core.Color color2 = new(255, 0, 0, 0);
Assert.AreEqual(1, color2.A);
Core.Color color3 = new(128, 0, 0, 0);
Assert.AreEqual(128 / 256.0f, color3.A);
Core.Color color4 = new(30, 0, 0, 0);
Assert.AreEqual(30 / 256.0f, color4.A);
Core.Color color5 = new(201, 0, 0, 0);
Assert.AreEqual(201 / 256.0f, color5.A);
Core.Color color6 = new(255, 0, 0, 0);
Assert.AreEqual(1f, color6.A);
}
[TestMethod]
public void RToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.R);
Core.Color color2 = new(0, 255, 0, 0);
Assert.AreEqual(1, color2.R);
Core.Color color3 = new(0, 128, 0, 0);
Assert.AreEqual(128 / 256.0f, color3.R);
Core.Color color4 = new(0, 30, 0, 0);
Assert.AreEqual(30 / 256.0f, color4.R);
Core.Color color5 = new(0, 201, 0, 0);
Assert.AreEqual(201 / 256.0f, color5.R);
Core.Color color6 = new(0, 255, 0, 0);
Assert.AreEqual(1f, color6.R);
}
[TestMethod]
public void GToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.G);
Core.Color color2 = new(0, 0, 255, 0);
Assert.AreEqual(1, color2.G);
Core.Color color3 = new(0, 0, 128, 0);
Assert.AreEqual(128 / 256.0f, color3.G);
Core.Color color4 = new(0, 0, 30, 0);
Assert.AreEqual(30 / 256.0f, color4.G);
Core.Color color5 = new(0, 0, 201, 0);
Assert.AreEqual(201 / 256.0f, color5.G);
Core.Color color6 = new(0, 0, 255, 0);
Assert.AreEqual(1f, color6.G);
}
[TestMethod]
public void BToPercentTest()
{
Core.Color color1 = new(0, 0, 0, 0);
Assert.AreEqual(0, color1.B);
Core.Color color2 = new(0, 0, 0, 255);
Assert.AreEqual(1, color2.B);
Core.Color color3 = new(0, 0, 0, 128);
Assert.AreEqual(128 / 256.0f, color3.B);
Core.Color color4 = new(0, 0, 0, 30);
Assert.AreEqual(30 / 256.0f, color4.B);
Core.Color color5 = new(0, 0, 0, 201);
Assert.AreEqual(201 / 256.0f, color5.B);
Core.Color color6 = new(0, 0, 0, 255);
Assert.AreEqual(1f, color6.B);
}
#endregion
}
+276 -277
View File
@@ -1,284 +1,283 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace RGB.NET.Core.Tests.Color
namespace RGB.NET.Core.Tests.Color;
[TestClass]
public class HSVColorTest
{
[TestClass]
public class HSVColorTest
{
#region Manipulation
#region Manipulation
#region Add
#region Add
[TestMethod]
public void AddHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(hue: 30);
[TestMethod]
public void AddHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(210, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(hue: 220);
Assert.AreEqual(HSVColor.Create(40, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.8f, 0.5f), result);
}
[TestMethod]
public void AddSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(saturation: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void AddValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.8f), result);
}
[TestMethod]
public void AddValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(value: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#region Subtract
[TestMethod]
public void SubtractHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(150, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(hue: 220);
Assert.AreEqual(HSVColor.Create(320, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.2f, 0.5f), result);
}
[TestMethod]
public void SubtractSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(saturation: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0, 0.5f), result);
}
[TestMethod]
public void SubtractValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.2f), result);
}
[TestMethod]
public void SubtractValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(value: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0), result);
}
#endregion
#region Multiply
[TestMethod]
public void MultiplyHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(hue: 1.5f);
Assert.AreEqual(HSVColor.Create(270, 0.5f, 0.5f), result);
}
[TestMethod]
public void MultiplyHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(hue: 3);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.5f), result);
}
[TestMethod]
public void MultiplySaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyHSV(saturation: 3);
Assert.AreEqual(HSVColor.Create(180,0.6f, 0.2f), result);
}
[TestMethod]
public void MultiplySaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(saturation: 3);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void MultiplyValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyHSV(value: 3);
Assert.AreEqual(HSVColor.Create(180, 0.2f,0.6f), result);
}
[TestMethod]
public void MultiplyValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(value: 3);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#region Divide
[TestMethod]
public void DivideHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.DivideHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(6, 0.5f, 0.5f), result);
}
[TestMethod]
public void DivideSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180,0.6f,0.6f);
Core.Color result = baseColor.DivideHSV(saturation: 2);
Assert.AreEqual(HSVColor.Create(180, 0.3f,0.6f), result);
}
[TestMethod]
public void DivideValueTest()
{
Core.Color baseColor = HSVColor.Create(180,0.6f,0.6f);
Core.Color result = baseColor.DivideHSV(value: 2);
Assert.AreEqual(HSVColor.Create(180,0.6f, 0.3f), result);
}
#endregion
#region Set
[TestMethod]
public void SetHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(30, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: 440);
Assert.AreEqual(HSVColor.Create(80, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetHueWrapNegativeTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: -30);
Assert.AreEqual(HSVColor.Create(330, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.3f, 0.5f), result);
}
[TestMethod]
public void SetSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(saturation: 2);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void SetValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.3f), result);
}
[TestMethod]
public void SetValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(value: 2);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#endregion
Assert.AreEqual(HSVColor.Create(210, 0.5f, 0.5f), result);
}
}
[TestMethod]
public void AddHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(hue: 220);
Assert.AreEqual(HSVColor.Create(40, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.8f, 0.5f), result);
}
[TestMethod]
public void AddSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(saturation: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void AddValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.8f), result);
}
[TestMethod]
public void AddValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.AddHSV(value: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#region Subtract
[TestMethod]
public void SubtractHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(150, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(hue: 220);
Assert.AreEqual(HSVColor.Create(320, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.2f, 0.5f), result);
}
[TestMethod]
public void SubtractSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(saturation: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0, 0.5f), result);
}
[TestMethod]
public void SubtractValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.2f), result);
}
[TestMethod]
public void SubtractValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractHSV(value: 0.8f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0), result);
}
#endregion
#region Multiply
[TestMethod]
public void MultiplyHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(hue: 1.5f);
Assert.AreEqual(HSVColor.Create(270, 0.5f, 0.5f), result);
}
[TestMethod]
public void MultiplyHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(hue: 3);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.5f), result);
}
[TestMethod]
public void MultiplySaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyHSV(saturation: 3);
Assert.AreEqual(HSVColor.Create(180,0.6f, 0.2f), result);
}
[TestMethod]
public void MultiplySaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(saturation: 3);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void MultiplyValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyHSV(value: 3);
Assert.AreEqual(HSVColor.Create(180, 0.2f,0.6f), result);
}
[TestMethod]
public void MultiplyValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.MultiplyHSV(value: 3);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#region Divide
[TestMethod]
public void DivideHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.DivideHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(6, 0.5f, 0.5f), result);
}
[TestMethod]
public void DivideSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180,0.6f,0.6f);
Core.Color result = baseColor.DivideHSV(saturation: 2);
Assert.AreEqual(HSVColor.Create(180, 0.3f,0.6f), result);
}
[TestMethod]
public void DivideValueTest()
{
Core.Color baseColor = HSVColor.Create(180,0.6f,0.6f);
Core.Color result = baseColor.DivideHSV(value: 2);
Assert.AreEqual(HSVColor.Create(180,0.6f, 0.3f), result);
}
#endregion
#region Set
[TestMethod]
public void SetHueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: 30);
Assert.AreEqual(HSVColor.Create(30, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetHueWrapTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: 440);
Assert.AreEqual(HSVColor.Create(80, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetHueWrapNegativeTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(hue: -30);
Assert.AreEqual(HSVColor.Create(330, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetSaturationTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(saturation: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.3f, 0.5f), result);
}
[TestMethod]
public void SetSaturationClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(saturation: 2);
Assert.AreEqual(HSVColor.Create(180, 1.0f, 0.5f), result);
}
[TestMethod]
public void SetValueTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(value: 0.3f);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 0.3f), result);
}
[TestMethod]
public void SetValueClampTest()
{
Core.Color baseColor = HSVColor.Create(180, 0.5f, 0.5f);
Core.Color result = baseColor.SetHSV(value: 2);
Assert.AreEqual(HSVColor.Create(180, 0.5f, 1.0f), result);
}
#endregion
#endregion
}
+425 -426
View File
@@ -1,432 +1,431 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace RGB.NET.Core.Tests.Color
namespace RGB.NET.Core.Tests.Color;
[TestClass]
public class RGBColorTest
{
[TestClass]
public class RGBColorTest
#region Manipulation
#region Blend
[TestMethod]
public void BlendOpaqueTest()
{
#region Manipulation
Core.Color baseColor = new(255, 0, 0);
Core.Color blendColor = new(0, 255, 0);
#region Blend
[TestMethod]
public void BlendOpaqueTest()
{
Core.Color baseColor = new(255, 0, 0);
Core.Color blendColor = new(0, 255, 0);
Assert.AreEqual(blendColor, baseColor.Blend(blendColor));
}
[TestMethod]
public void BlendTransparentTest()
{
Core.Color baseColor = new(255, 0, 0);
Core.Color blendColor = new(0, 0, 255, 0);
Assert.AreEqual(baseColor, baseColor.Blend(blendColor));
}
[TestMethod]
public void BlendUpTest()
{
Core.Color baseColor = new(0.0f, 0.0f, 0.0f);
Core.Color blendColor = new(0.5f, 1.0f, 1.0f, 1.0f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f), baseColor.Blend(blendColor));
}
[TestMethod]
public void BlendDownTest()
{
Core.Color baseColor = new(1.0f, 1.0f, 1.0f);
Core.Color blendColor = new(0.5f, 0.0f, 0.0f, 0.0f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f), baseColor.Blend(blendColor));
}
#endregion
#region Add
[TestMethod]
public void AddRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 139, 140, 141), result);
}
[TestMethod]
public void AddRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.7f, 0.8f, 0.9f), result);
}
[TestMethod]
public void AddATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddA(10);
Assert.AreEqual(new Core.Color(138, 128, 128, 128), result);
}
[TestMethod]
public void AddAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddA(0.1f);
Assert.AreEqual(new Core.Color(0.6f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 138, 128, 128), result);
}
[TestMethod]
public void AddRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.6f, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 138, 128), result);
}
[TestMethod]
public void AddGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.6f, 0.5f), result);
}
[TestMethod]
public void AddBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 138), result);
}
[TestMethod]
public void AddBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.6f), result);
}
#endregion
#region Substract
[TestMethod]
public void SubtractRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 117, 116, 115), result);
}
[TestMethod]
public void SubtractRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.3f, 0.2f, 0.1f), result);
}
[TestMethod]
public void SubtractATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractA(10);
Assert.AreEqual(new Core.Color(118, 128, 128, 128), result);
}
[TestMethod]
public void SubtractAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractA(0.1f);
Assert.AreEqual(new Core.Color(0.4f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 118, 128, 128), result);
}
[TestMethod]
public void SubtractRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.4f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 118, 128), result);
}
[TestMethod]
public void SubtractGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.4f, 0.5f), result);
}
[TestMethod]
public void SubtractBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 118), result);
}
[TestMethod]
public void SubtractBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.4f), result);
}
#endregion
#region Multiply
[TestMethod]
public void MultiplyRGBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(3, 4, 5);
Assert.AreEqual(new Core.Color(0.2f, 0.6f, 0.8f, 1.0f), result);
}
[TestMethod]
public void MultiplyAPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyA(3);
Assert.AreEqual(new Core.Color(0.6f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void MultiplyRPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(r: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.6f, 0.2f, 0.2f), result);
}
[TestMethod]
public void MultiplyGPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(g: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.6f, 0.2f), result);
}
[TestMethod]
public void MultiplyBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(b: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.6f), result);
}
#endregion
#region Divide
[TestMethod]
public void DivideRGBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.6f, 0.8f, 1.0f);
Core.Color result = baseColor.DivideRGB(3, 4, 5);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideAPercentTest()
{
Core.Color baseColor = new(0.6f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.DivideA(3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideRPercentTest()
{
Core.Color baseColor = new(0.2f, 0.6f, 0.2f, 0.2f);
Core.Color result = baseColor.DivideRGB(r: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideGPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.6f, 0.2f);
Core.Color result = baseColor.DivideRGB(g: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.6f);
Core.Color result = baseColor.DivideRGB(b: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
#endregion
#region Set
[TestMethod]
public void SetRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 11, 12, 13), result);
}
[TestMethod]
public void SetRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.2f, 0.3f, 0.4f), result);
}
[TestMethod]
public void SetATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetA(10);
Assert.AreEqual(new Core.Color(10, 128, 128, 128), result);
}
[TestMethod]
public void SetAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetA(0.1f);
Assert.AreEqual(new Core.Color(0.1f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 10, 128, 128), result);
}
[TestMethod]
public void SetRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.1f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 10, 128), result);
}
[TestMethod]
public void SetGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.1f, 0.5f), result);
}
[TestMethod]
public void SetBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 10), result);
}
[TestMethod]
public void SetBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.1f), result);
}
#endregion
#endregion
Assert.AreEqual(blendColor, baseColor.Blend(blendColor));
}
}
[TestMethod]
public void BlendTransparentTest()
{
Core.Color baseColor = new(255, 0, 0);
Core.Color blendColor = new(0, 0, 255, 0);
Assert.AreEqual(baseColor, baseColor.Blend(blendColor));
}
[TestMethod]
public void BlendUpTest()
{
Core.Color baseColor = new(0.0f, 0.0f, 0.0f);
Core.Color blendColor = new(0.5f, 1.0f, 1.0f, 1.0f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f), baseColor.Blend(blendColor));
}
[TestMethod]
public void BlendDownTest()
{
Core.Color baseColor = new(1.0f, 1.0f, 1.0f);
Core.Color blendColor = new(0.5f, 0.0f, 0.0f, 0.0f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f), baseColor.Blend(blendColor));
}
#endregion
#region Add
[TestMethod]
public void AddRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 139, 140, 141), result);
}
[TestMethod]
public void AddRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.7f, 0.8f, 0.9f), result);
}
[TestMethod]
public void AddATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddA(10);
Assert.AreEqual(new Core.Color(138, 128, 128, 128), result);
}
[TestMethod]
public void AddAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddA(0.1f);
Assert.AreEqual(new Core.Color(0.6f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 138, 128, 128), result);
}
[TestMethod]
public void AddRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.6f, 0.5f, 0.5f), result);
}
[TestMethod]
public void AddGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 138, 128), result);
}
[TestMethod]
public void AddGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.6f, 0.5f), result);
}
[TestMethod]
public void AddBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.AddRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 138), result);
}
[TestMethod]
public void AddBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.AddRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.6f), result);
}
#endregion
#region Substract
[TestMethod]
public void SubtractRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 117, 116, 115), result);
}
[TestMethod]
public void SubtractRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.3f, 0.2f, 0.1f), result);
}
[TestMethod]
public void SubtractATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractA(10);
Assert.AreEqual(new Core.Color(118, 128, 128, 128), result);
}
[TestMethod]
public void SubtractAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractA(0.1f);
Assert.AreEqual(new Core.Color(0.4f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 118, 128, 128), result);
}
[TestMethod]
public void SubtractRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.4f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SubtractGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 118, 128), result);
}
[TestMethod]
public void SubtractGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.4f, 0.5f), result);
}
[TestMethod]
public void SubtractBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SubtractRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 118), result);
}
[TestMethod]
public void SubtractBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SubtractRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.4f), result);
}
#endregion
#region Multiply
[TestMethod]
public void MultiplyRGBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(3, 4, 5);
Assert.AreEqual(new Core.Color(0.2f, 0.6f, 0.8f, 1.0f), result);
}
[TestMethod]
public void MultiplyAPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyA(3);
Assert.AreEqual(new Core.Color(0.6f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void MultiplyRPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(r: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.6f, 0.2f, 0.2f), result);
}
[TestMethod]
public void MultiplyGPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(g: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.6f, 0.2f), result);
}
[TestMethod]
public void MultiplyBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.MultiplyRGB(b: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.6f), result);
}
#endregion
#region Divide
[TestMethod]
public void DivideRGBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.6f, 0.8f, 1.0f);
Core.Color result = baseColor.DivideRGB(3, 4, 5);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideAPercentTest()
{
Core.Color baseColor = new(0.6f, 0.2f, 0.2f, 0.2f);
Core.Color result = baseColor.DivideA(3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideRPercentTest()
{
Core.Color baseColor = new(0.2f, 0.6f, 0.2f, 0.2f);
Core.Color result = baseColor.DivideRGB(r: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideGPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.6f, 0.2f);
Core.Color result = baseColor.DivideRGB(g: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
[TestMethod]
public void DivideBPercentTest()
{
Core.Color baseColor = new(0.2f, 0.2f, 0.2f, 0.6f);
Core.Color result = baseColor.DivideRGB(b: 3);
Assert.AreEqual(new Core.Color(0.2f, 0.2f, 0.2f, 0.2f), result);
}
#endregion
#region Set
[TestMethod]
public void SetRGBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(11, 12, 13);
Assert.AreEqual(new Core.Color(128, 11, 12, 13), result);
}
[TestMethod]
public void SetRGBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(0.2f, 0.3f, 0.4f);
Assert.AreEqual(new Core.Color(0.5f, 0.2f, 0.3f, 0.4f), result);
}
[TestMethod]
public void SetATest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetA(10);
Assert.AreEqual(new Core.Color(10, 128, 128, 128), result);
}
[TestMethod]
public void SetAPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetA(0.1f);
Assert.AreEqual(new Core.Color(0.1f, 0.5f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetRTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(r: 10);
Assert.AreEqual(new Core.Color(128, 10, 128, 128), result);
}
[TestMethod]
public void SetRPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(r: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.1f, 0.5f, 0.5f), result);
}
[TestMethod]
public void SetGTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(g: 10);
Assert.AreEqual(new Core.Color(128, 128, 10, 128), result);
}
[TestMethod]
public void SetGPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(g: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.1f, 0.5f), result);
}
[TestMethod]
public void SetBTest()
{
Core.Color baseColor = new(128, 128, 128, 128);
Core.Color result = baseColor.SetRGB(b: 10);
Assert.AreEqual(new Core.Color(128, 128, 128, 10), result);
}
[TestMethod]
public void SetBPercentTest()
{
Core.Color baseColor = new(0.5f, 0.5f, 0.5f, 0.5f);
Core.Color result = baseColor.SetRGB(b: 0.1f);
Assert.AreEqual(new Core.Color(0.5f, 0.5f, 0.5f, 0.1f), result);
}
#endregion
#endregion
}