public void DesaturateTest() { // Arrange CIELab lab = new CIELab { L = 97.4, a = 62.3, b = 81.2 }; double aMax = 55, aMin = -55, bMax = 75, bMin = -75; // Act bool desaturated = Colorimetric.Desaturate(ref lab, aMax, aMin, bMax, bMin); // Assert Assert.IsTrue(desaturated); }
public void CIExyY_operatorCIEXYZTest() { // Arrange CIExyY xyY = Colorimetric.D50_xyY; CIEXYZ expected = Colorimetric.xyY2XYZ(xyY); // Act CIEXYZ actual = xyY; // Assert Assert.AreEqual(expected.X, actual.X, double.Epsilon); Assert.AreEqual(expected.Y, actual.Y, double.Epsilon); Assert.AreEqual(expected.Z, actual.Z, double.Epsilon); }
public void LCh2LabTest() { // Arrange CIELCh lch = new CIELCh { L = 100.0, C = 0.0, h = 0.0 }; // Act CIELab lab = Colorimetric.LCh2Lab(lch); // Assert Assert.AreEqual(100.0, lab.L); Assert.AreEqual(0.0, lab.a); Assert.AreEqual(0.0, lab.b); }
public void Lab2LChTest() { // Arrange CIELab lab = new CIELab { L = 100.0, a = 0.0, b = 0.0 }; // Act CIELCh lch = Colorimetric.Lab2LCh(lab); // Assert Assert.AreEqual(100.0, lch.L); Assert.AreEqual(0.0, lch.C); Assert.AreEqual(0.0, lch.h); }
public void CIEXYZ_operatorCIExyYTest() { // Arrange CIEXYZ xyz = new CIEXYZ { X = 0.9642, Y = 1.0, Z = 0.8249 }; CIExyY expected = Colorimetric.XYZ2xyY(xyz); // Act CIExyY actual = xyz; // Assert Assert.AreEqual(expected.x, actual.x, double.Epsilon); Assert.AreEqual(expected.y, actual.y, double.Epsilon); Assert.AreEqual(expected.Y, actual.Y, double.Epsilon); }
public void XYZEncodingTest() { ushort[] inXyz = new ushort[3]; for (ushort u = 0; u < ushort.MaxValue; u++) { inXyz[0] = inXyz[1] = inXyz[2] = u; CIEXYZ fxyz = Colorimetric.XYZEncoded2Float(inXyz); ushort[] outXyz = Colorimetric.Float2XYZEncoded(fxyz); for (int i = 0; i < 3; i++) { Assert.AreEqual(u, outXyz[i]); } } }
public void LabV2EncodingTest() { ushort[] inWLab = new ushort[3]; for (ushort u = 0; u < ushort.MaxValue; u++) { inWLab[0] = inWLab[1] = inWLab[2] = u; CIELab lab = Colorimetric.LabEncoded2FloatV2(inWLab); ushort[] outWLab = Colorimetric.Float2LabEncodedV2(lab); for (int i = 0; i < 3; i++) { Assert.AreEqual(u, outWLab[i]); } } }
public void Lab2XYZTest() { // Arrange CIEXYZ whitePoint = new CIEXYZ { X = 0.9642, Y = 1.0, Z = 0.8249 }; // D50 XYZ normalized to Y = 1.0 CIELab lab = new CIELab { L = 100.0, a = 0.0, b = 0.0 }; // Act CIEXYZ xyz = Colorimetric.Lab2XYZ(whitePoint, lab); // Assert Assert.AreEqual(0.9642, xyz.X); Assert.AreEqual(1.0, xyz.Y); Assert.AreEqual(0.8249, xyz.Z); }
public void XYZ2LabTest() { // Arrange CIEXYZ whitePoint = new CIEXYZ { X = 0.9642, Y = 1.0, Z = 0.8249 }; // D50 XYZ normalized to Y = 1.0 CIEXYZ xyz = new CIEXYZ { X = 0.9642, Y = 1.0, Z = 0.8249 }; // Act CIELab lab = Colorimetric.XYZ2Lab(whitePoint, xyz); // Assert Assert.AreEqual(100.0, lab.L); Assert.AreEqual(0.0, lab.a); Assert.AreEqual(0.0, lab.b); }