mirror of https://github.com/SixLabors/ImageSharp
29 changed files with 594 additions and 244 deletions
@ -0,0 +1,43 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieLab"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieLabTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieLabConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float a = -64F; |
||||
|
const float b = 87F; |
||||
|
var cieLab = new CieLab(l, a, b); |
||||
|
|
||||
|
Assert.Equal(l, cieLab.L); |
||||
|
Assert.Equal(a, cieLab.A); |
||||
|
Assert.Equal(b, cieLab.B); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieLabEquality() |
||||
|
{ |
||||
|
var x = default(CieLab); |
||||
|
var y = new CieLab(Vector3.One); |
||||
|
|
||||
|
Assert.True(default(CieLab) == default(CieLab)); |
||||
|
Assert.True(default(CieLab) != new CieLab(1, 0, 1)); |
||||
|
Assert.False(default(CieLab) == new CieLab(1, 0, 1)); |
||||
|
Assert.Equal(default(CieLab), default(CieLab)); |
||||
|
Assert.Equal(new CieLab(1, 0, 1), new CieLab(1, 0, 1)); |
||||
|
Assert.Equal(new CieLab(Vector3.One), new CieLab(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieLch"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieLchTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieLchConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float c = 64F; |
||||
|
const float h = 287F; |
||||
|
var cieLch = new CieLch(l, c, h); |
||||
|
|
||||
|
Assert.Equal(l, cieLch.L); |
||||
|
Assert.Equal(c, cieLch.C); |
||||
|
Assert.Equal(h, cieLch.H); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieLchEquality() |
||||
|
{ |
||||
|
var x = default(CieLch); |
||||
|
var y = new CieLch(Vector3.One); |
||||
|
Assert.Equal(default(CieLch), default(CieLch)); |
||||
|
Assert.Equal(new CieLch(1, 0, 1), new CieLch(1, 0, 1)); |
||||
|
Assert.Equal(new CieLch(Vector3.One), new CieLch(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieLchuv"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieLchuvTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieLchuvConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float c = 64F; |
||||
|
const float h = 287F; |
||||
|
var cieLchuv = new CieLchuv(l, c, h); |
||||
|
|
||||
|
Assert.Equal(l, cieLchuv.L); |
||||
|
Assert.Equal(c, cieLchuv.C); |
||||
|
Assert.Equal(h, cieLchuv.H); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieLchuvEquality() |
||||
|
{ |
||||
|
var x = default(CieLchuv); |
||||
|
var y = new CieLchuv(Vector3.One); |
||||
|
Assert.Equal(default(CieLchuv), default(CieLchuv)); |
||||
|
Assert.Equal(new CieLchuv(1, 0, 1), new CieLchuv(1, 0, 1)); |
||||
|
Assert.Equal(new CieLchuv(Vector3.One), new CieLchuv(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieLuv"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieLuvTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieLuvConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float c = -64F; |
||||
|
const float h = 87F; |
||||
|
var cieLuv = new CieLuv(l, c, h); |
||||
|
|
||||
|
Assert.Equal(l, cieLuv.L); |
||||
|
Assert.Equal(c, cieLuv.U); |
||||
|
Assert.Equal(h, cieLuv.V); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieLuvEquality() |
||||
|
{ |
||||
|
var x = default(CieLuv); |
||||
|
var y = new CieLuv(Vector3.One); |
||||
|
Assert.Equal(default(CieLuv), default(CieLuv)); |
||||
|
Assert.Equal(new CieLuv(1, 0, 1), new CieLuv(1, 0, 1)); |
||||
|
Assert.Equal(new CieLuv(Vector3.One), new CieLuv(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieXyy"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieXyyTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieXyyConstructorAssignsFields() |
||||
|
{ |
||||
|
const float x = 75F; |
||||
|
const float y = 64F; |
||||
|
const float yl = 287F; |
||||
|
var cieXyy = new CieXyy(x, y, yl); |
||||
|
|
||||
|
Assert.Equal(x, cieXyy.X); |
||||
|
Assert.Equal(y, cieXyy.Y); |
||||
|
Assert.Equal(y, cieXyy.Y); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieXyyEquality() |
||||
|
{ |
||||
|
var x = default(CieXyy); |
||||
|
var y = new CieXyy(Vector3.One); |
||||
|
Assert.Equal(default(CieXyy), default(CieXyy)); |
||||
|
Assert.Equal(new CieXyy(1, 0, 1), new CieXyy(1, 0, 1)); |
||||
|
Assert.Equal(new CieXyy(Vector3.One), new CieXyy(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="CieXyz"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CieXyzTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CieXyzConstructorAssignsFields() |
||||
|
{ |
||||
|
const float x = 75F; |
||||
|
const float y = 64F; |
||||
|
const float z = 287F; |
||||
|
var cieXyz = new CieXyz(x, y, z); |
||||
|
|
||||
|
Assert.Equal(x, cieXyz.X); |
||||
|
Assert.Equal(y, cieXyz.Y); |
||||
|
Assert.Equal(z, cieXyz.Z); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CieXyzEquality() |
||||
|
{ |
||||
|
var x = default(CieXyz); |
||||
|
var y = new CieXyz(Vector3.One); |
||||
|
Assert.Equal(default(CieXyz), default(CieXyz)); |
||||
|
Assert.Equal(new CieXyz(1, 0, 1), new CieXyz(1, 0, 1)); |
||||
|
Assert.Equal(new CieXyz(Vector3.One), new CieXyz(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,41 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="Cmyk"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class CmykTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void CmykConstructorAssignsFields() |
||||
|
{ |
||||
|
const float c = .75F; |
||||
|
const float m = .64F; |
||||
|
const float y = .87F; |
||||
|
const float k = .334F; |
||||
|
var cmyk = new Cmyk(c, m, y, k); |
||||
|
|
||||
|
Assert.Equal(c, cmyk.C); |
||||
|
Assert.Equal(m, cmyk.M); |
||||
|
Assert.Equal(y, cmyk.Y); |
||||
|
Assert.Equal(k, cmyk.K); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void CmykEquality() |
||||
|
{ |
||||
|
var x = default(Cmyk); |
||||
|
var y = new Cmyk(Vector4.One); |
||||
|
Assert.Equal(default(Cmyk), default(Cmyk)); |
||||
|
Assert.Equal(new Cmyk(1, 0, 1, 0), new Cmyk(1, 0, 1, 0)); |
||||
|
Assert.Equal(new Cmyk(Vector4.One), new Cmyk(Vector4.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -1,162 +0,0 @@ |
|||||
// Copyright (c) Six Labors and contributors.
|
|
||||
// Licensed under the Apache License, Version 2.0.
|
|
||||
|
|
||||
using System.Numerics; |
|
||||
using SixLabors.ImageSharp.ColorSpaces; |
|
||||
using Xunit; |
|
||||
|
|
||||
namespace SixLabors.ImageSharp.Tests.Colorspaces |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// Test implementations of IEquatable and IAlmostEquatable in our colorspaces
|
|
||||
/// </summary>
|
|
||||
public class ColorSpaceEqualityTests |
|
||||
{ |
|
||||
[Fact] |
|
||||
public void CieLabEquality() |
|
||||
{ |
|
||||
var x = default(CieLab); |
|
||||
var y = new CieLab(Vector3.One); |
|
||||
|
|
||||
Assert.True(default(CieLab) == default(CieLab)); |
|
||||
Assert.True(default(CieLab) != new CieLab(1, 0, 1)); |
|
||||
Assert.False(default(CieLab) == new CieLab(1, 0, 1)); |
|
||||
Assert.Equal(default(CieLab), default(CieLab)); |
|
||||
Assert.Equal(new CieLab(1, 0, 1), new CieLab(1, 0, 1)); |
|
||||
Assert.Equal(new CieLab(Vector3.One), new CieLab(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CieLchEquality() |
|
||||
{ |
|
||||
var x = default(CieLch); |
|
||||
var y = new CieLch(Vector3.One); |
|
||||
Assert.Equal(default(CieLch), default(CieLch)); |
|
||||
Assert.Equal(new CieLch(1, 0, 1), new CieLch(1, 0, 1)); |
|
||||
Assert.Equal(new CieLch(Vector3.One), new CieLch(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CieLchuvEquality() |
|
||||
{ |
|
||||
var x = default(CieLchuv); |
|
||||
var y = new CieLchuv(Vector3.One); |
|
||||
Assert.Equal(default(CieLchuv), default(CieLchuv)); |
|
||||
Assert.Equal(new CieLchuv(1, 0, 1), new CieLchuv(1, 0, 1)); |
|
||||
Assert.Equal(new CieLchuv(Vector3.One), new CieLchuv(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CieLuvEquality() |
|
||||
{ |
|
||||
var x = default(CieLuv); |
|
||||
var y = new CieLuv(Vector3.One); |
|
||||
Assert.Equal(default(CieLuv), default(CieLuv)); |
|
||||
Assert.Equal(new CieLuv(1, 0, 1), new CieLuv(1, 0, 1)); |
|
||||
Assert.Equal(new CieLuv(Vector3.One), new CieLuv(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CieXyzEquality() |
|
||||
{ |
|
||||
var x = default(CieXyz); |
|
||||
var y = new CieXyz(Vector3.One); |
|
||||
Assert.Equal(default(CieXyz), default(CieXyz)); |
|
||||
Assert.Equal(new CieXyz(1, 0, 1), new CieXyz(1, 0, 1)); |
|
||||
Assert.Equal(new CieXyz(Vector3.One), new CieXyz(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CieXyyEquality() |
|
||||
{ |
|
||||
var x = default(CieXyy); |
|
||||
var y = new CieXyy(Vector3.One); |
|
||||
Assert.Equal(default(CieXyy), default(CieXyy)); |
|
||||
Assert.Equal(new CieXyy(1, 0, 1), new CieXyy(1, 0, 1)); |
|
||||
Assert.Equal(new CieXyy(Vector3.One), new CieXyy(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void HslEquality() |
|
||||
{ |
|
||||
var x = default(Hsl); |
|
||||
var y = new Hsl(Vector3.One); |
|
||||
Assert.Equal(default(Hsl), default(Hsl)); |
|
||||
Assert.Equal(new Hsl(1, 0, 1), new Hsl(1, 0, 1)); |
|
||||
Assert.Equal(new Hsl(Vector3.One), new Hsl(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void HsvEquality() |
|
||||
{ |
|
||||
var x = default(Hsv); |
|
||||
var y = new Hsv(Vector3.One); |
|
||||
Assert.Equal(default(Hsv), default(Hsv)); |
|
||||
Assert.Equal(new Hsv(1, 0, 1), new Hsv(1, 0, 1)); |
|
||||
Assert.Equal(new Hsv(Vector3.One), new Hsv(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void HunterLabEquality() |
|
||||
{ |
|
||||
var x = default(HunterLab); |
|
||||
var y = new HunterLab(Vector3.One); |
|
||||
Assert.Equal(default(HunterLab), default(HunterLab)); |
|
||||
Assert.Equal(new HunterLab(1, 0, 1), new HunterLab(1, 0, 1)); |
|
||||
Assert.Equal(new HunterLab(Vector3.One), new HunterLab(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void LmsEquality() |
|
||||
{ |
|
||||
var x = default(Lms); |
|
||||
var y = new Lms(Vector3.One); |
|
||||
Assert.Equal(default(Lms), default(Lms)); |
|
||||
Assert.Equal(new Lms(1, 0, 1), new Lms(1, 0, 1)); |
|
||||
Assert.Equal(new Lms(Vector3.One), new Lms(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void LinearRgbEquality() |
|
||||
{ |
|
||||
var x = default(LinearRgb); |
|
||||
var y = new LinearRgb(Vector3.One); |
|
||||
Assert.Equal(default(LinearRgb), default(LinearRgb)); |
|
||||
Assert.Equal(new LinearRgb(1, 0, 1), new LinearRgb(1, 0, 1)); |
|
||||
Assert.Equal(new LinearRgb(Vector3.One), new LinearRgb(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void YCbCrEquality() |
|
||||
{ |
|
||||
var x = default(YCbCr); |
|
||||
var y = new YCbCr(Vector3.One); |
|
||||
Assert.Equal(default(YCbCr), default(YCbCr)); |
|
||||
Assert.Equal(new YCbCr(1, 0, 1), new YCbCr(1, 0, 1)); |
|
||||
Assert.Equal(new YCbCr(Vector3.One), new YCbCr(Vector3.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public void CmykEquality() |
|
||||
{ |
|
||||
var x = default(Cmyk); |
|
||||
var y = new Cmyk(Vector4.One); |
|
||||
Assert.Equal(default(Cmyk), default(Cmyk)); |
|
||||
Assert.Equal(new Cmyk(1, 0, 1, 0), new Cmyk(1, 0, 1, 0)); |
|
||||
Assert.Equal(new Cmyk(Vector4.One), new Cmyk(Vector4.One)); |
|
||||
Assert.False(x.Equals(y)); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="Hsl"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class HslTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void HslConstructorAssignsFields() |
||||
|
{ |
||||
|
const float h = 275F; |
||||
|
const float s = .64F; |
||||
|
const float l = .87F; |
||||
|
var hsl = new Hsl(h, s, l); |
||||
|
|
||||
|
Assert.Equal(h, hsl.H); |
||||
|
Assert.Equal(s, hsl.S); |
||||
|
Assert.Equal(l, hsl.L); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void HslEquality() |
||||
|
{ |
||||
|
var x = default(Hsl); |
||||
|
var y = new Hsl(Vector3.One); |
||||
|
Assert.Equal(default(Hsl), default(Hsl)); |
||||
|
Assert.Equal(new Hsl(1, 0, 1), new Hsl(1, 0, 1)); |
||||
|
Assert.Equal(new Hsl(Vector3.One), new Hsl(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="Hsv"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class HsvTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void HsvConstructorAssignsFields() |
||||
|
{ |
||||
|
const float h = 275F; |
||||
|
const float s = .64F; |
||||
|
const float v = .87F; |
||||
|
var hsv = new Hsv(h, s, v); |
||||
|
|
||||
|
Assert.Equal(h, hsv.H); |
||||
|
Assert.Equal(s, hsv.S); |
||||
|
Assert.Equal(v, hsv.V); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void HsvEquality() |
||||
|
{ |
||||
|
var x = default(Hsv); |
||||
|
var y = new Hsv(Vector3.One); |
||||
|
Assert.Equal(default(Hsv), default(Hsv)); |
||||
|
Assert.Equal(new Hsv(1, 0, 1), new Hsv(1, 0, 1)); |
||||
|
Assert.Equal(new Hsv(Vector3.One), new Hsv(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="HunterLab"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class HunterLabTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void HunterLabConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float a = -64F; |
||||
|
const float b = 87F; |
||||
|
var hunterLab = new HunterLab(l, a, b); |
||||
|
|
||||
|
Assert.Equal(l, hunterLab.L); |
||||
|
Assert.Equal(a, hunterLab.A); |
||||
|
Assert.Equal(b, hunterLab.B); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void HunterLabEquality() |
||||
|
{ |
||||
|
var x = default(HunterLab); |
||||
|
var y = new HunterLab(Vector3.One); |
||||
|
|
||||
|
Assert.True(default(HunterLab) == default(HunterLab)); |
||||
|
Assert.True(default(HunterLab) != new HunterLab(1, 0, 1)); |
||||
|
Assert.False(default(HunterLab) == new HunterLab(1, 0, 1)); |
||||
|
Assert.Equal(default(HunterLab), default(HunterLab)); |
||||
|
Assert.Equal(new HunterLab(1, 0, 1), new HunterLab(1, 0, 1)); |
||||
|
Assert.Equal(new HunterLab(Vector3.One), new HunterLab(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,42 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="LinearRgb"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class LinearRgbTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void LinearRgbConstructorAssignsFields() |
||||
|
{ |
||||
|
const float r = .75F; |
||||
|
const float g = .64F; |
||||
|
const float b = .87F; |
||||
|
var rgb = new LinearRgb(r, g, b); |
||||
|
|
||||
|
Assert.Equal(r, rgb.R); |
||||
|
Assert.Equal(g, rgb.G); |
||||
|
Assert.Equal(b, rgb.B); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void LinearRgbEquality() |
||||
|
{ |
||||
|
var x = default(LinearRgb); |
||||
|
var y = new LinearRgb(Vector3.One); |
||||
|
|
||||
|
Assert.True(default(LinearRgb) == default(LinearRgb)); |
||||
|
Assert.False(default(LinearRgb) != default(LinearRgb)); |
||||
|
Assert.Equal(default(LinearRgb), default(LinearRgb)); |
||||
|
Assert.Equal(new LinearRgb(1, 0, 1), new LinearRgb(1, 0, 1)); |
||||
|
Assert.Equal(new LinearRgb(Vector3.One), new LinearRgb(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="Lms"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class LmsTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void LmsConstructorAssignsFields() |
||||
|
{ |
||||
|
const float l = 75F; |
||||
|
const float m = -64F; |
||||
|
const float s = 87F; |
||||
|
var Lms = new Lms(l, m, s); |
||||
|
|
||||
|
Assert.Equal(l, Lms.L); |
||||
|
Assert.Equal(m, Lms.M); |
||||
|
Assert.Equal(s, Lms.S); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void LmsEquality() |
||||
|
{ |
||||
|
var x = default(Lms); |
||||
|
var y = new Lms(Vector3.One); |
||||
|
|
||||
|
Assert.True(default(Lms) == default(Lms)); |
||||
|
Assert.True(default(Lms) != new Lms(1, 0, 1)); |
||||
|
Assert.False(default(Lms) == new Lms(1, 0, 1)); |
||||
|
Assert.Equal(default(Lms), default(Lms)); |
||||
|
Assert.Equal(new Lms(1, 0, 1), new Lms(1, 0, 1)); |
||||
|
Assert.Equal(new Lms(Vector3.One), new Lms(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,42 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using System.Numerics; |
||||
|
using SixLabors.ImageSharp.ColorSpaces; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.Colorspaces |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Tests the <see cref="YCbCr"/> struct.
|
||||
|
/// </summary>
|
||||
|
public class YCbCrTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void YCbCrConstructorAssignsFields() |
||||
|
{ |
||||
|
const float y = 75F; |
||||
|
const float cb = 64F; |
||||
|
const float cr = 87F; |
||||
|
var yCbCr = new YCbCr(y, cb, cr); |
||||
|
|
||||
|
Assert.Equal(y, yCbCr.Y); |
||||
|
Assert.Equal(cb, yCbCr.Cb); |
||||
|
Assert.Equal(cr, yCbCr.Cr); |
||||
|
} |
||||
|
|
||||
|
[Fact] |
||||
|
public void YCbCrEquality() |
||||
|
{ |
||||
|
var x = default(YCbCr); |
||||
|
var y = new YCbCr(Vector3.One); |
||||
|
|
||||
|
Assert.True(default(YCbCr) == default(YCbCr)); |
||||
|
Assert.False(default(YCbCr) != default(YCbCr)); |
||||
|
Assert.Equal(default(YCbCr), default(YCbCr)); |
||||
|
Assert.Equal(new YCbCr(1, 0, 1), new YCbCr(1, 0, 1)); |
||||
|
Assert.Equal(new YCbCr(Vector3.One), new YCbCr(Vector3.One)); |
||||
|
Assert.False(x.Equals(y)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue