Skip to content

Commit c16582b

Browse files
Complete tests
1 parent 72dbc13 commit c16582b

14 files changed

+632
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieLab"/> struct.
11+
/// </summary>
12+
public class CieLabTests
13+
{
14+
[Fact]
15+
public void CieLabConstructorAssignsFields()
16+
{
17+
const float l = 75F;
18+
const float a = -64F;
19+
const float b = 87F;
20+
CieLab cieLab = new(l, a, b);
21+
22+
Assert.Equal(l, cieLab.L);
23+
Assert.Equal(a, cieLab.A);
24+
Assert.Equal(b, cieLab.B);
25+
}
26+
27+
[Fact]
28+
public void CieLabEquality()
29+
{
30+
CieLab x = default;
31+
CieLab y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieLab));
34+
Assert.True(new CieLab(1, 0, 1) != default);
35+
Assert.False(new CieLab(1, 0, 1) == default);
36+
Assert.Equal(default, default(CieLab));
37+
Assert.Equal(new CieLab(1, 0, 1), new CieLab(1, 0, 1));
38+
Assert.Equal(new CieLab(Vector3.One), new CieLab(Vector3.One));
39+
Assert.False(x.Equals(y));
40+
Assert.False(new CieLab(1, 0, 1) == default);
41+
Assert.False(x.Equals((object)y));
42+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
43+
}
44+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieLch"/> struct.
11+
/// </summary>
12+
public class CieLchTests
13+
{
14+
[Fact]
15+
public void CieLchConstructorAssignsFields()
16+
{
17+
const float l = 75F;
18+
const float c = 64F;
19+
const float h = 287F;
20+
CieLch cieLch = new(l, c, h);
21+
22+
Assert.Equal(l, cieLch.L);
23+
Assert.Equal(c, cieLch.C);
24+
Assert.Equal(h, cieLch.H);
25+
}
26+
27+
[Fact]
28+
public void CieLchEquality()
29+
{
30+
CieLch x = default;
31+
CieLch y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieLch));
34+
Assert.False(default != default(CieLch));
35+
Assert.Equal(default, default(CieLch));
36+
Assert.Equal(new CieLch(1, 0, 1), new CieLch(1, 0, 1));
37+
Assert.Equal(new CieLch(Vector3.One), new CieLch(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieLchuv"/> struct.
11+
/// </summary>
12+
public class CieLchuvTests
13+
{
14+
[Fact]
15+
public void CieLchuvConstructorAssignsFields()
16+
{
17+
const float l = 75F;
18+
const float c = 64F;
19+
const float h = 287F;
20+
CieLchuv cieLchuv = new(l, c, h);
21+
22+
Assert.Equal(l, cieLchuv.L);
23+
Assert.Equal(c, cieLchuv.C);
24+
Assert.Equal(h, cieLchuv.H);
25+
}
26+
27+
[Fact]
28+
public void CieLchuvEquality()
29+
{
30+
CieLchuv x = default;
31+
CieLchuv y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieLchuv));
34+
Assert.False(default != default(CieLchuv));
35+
Assert.Equal(default, default(CieLchuv));
36+
Assert.Equal(new CieLchuv(1, 0, 1), new CieLchuv(1, 0, 1));
37+
Assert.Equal(new CieLchuv(Vector3.One), new CieLchuv(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieLuv"/> struct.
11+
/// </summary>
12+
public class CieLuvTests
13+
{
14+
[Fact]
15+
public void CieLuvConstructorAssignsFields()
16+
{
17+
const float l = 75F;
18+
const float c = -64F;
19+
const float h = 87F;
20+
CieLuv cieLuv = new(l, c, h);
21+
22+
Assert.Equal(l, cieLuv.L);
23+
Assert.Equal(c, cieLuv.U);
24+
Assert.Equal(h, cieLuv.V);
25+
}
26+
27+
[Fact]
28+
public void CieLuvEquality()
29+
{
30+
CieLuv x = default;
31+
CieLuv y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieLuv));
34+
Assert.False(default != default(CieLuv));
35+
Assert.Equal(default, default(CieLuv));
36+
Assert.Equal(new CieLuv(1, 0, 1), new CieLuv(1, 0, 1));
37+
Assert.Equal(new CieLuv(Vector3.One), new CieLuv(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using SixLabors.ImageSharp.ColorProfiles;
5+
6+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
7+
8+
/// <summary>
9+
/// Tests the <see cref="CieXyChromaticityCoordinates"/> struct.
10+
/// </summary>
11+
public class CieXyChromaticityCoordinatesTests
12+
{
13+
[Fact]
14+
public void CieXyChromaticityCoordinatesConstructorAssignsFields()
15+
{
16+
const float x = .75F;
17+
const float y = .64F;
18+
CieXyChromaticityCoordinates coordinates = new(x, y);
19+
20+
Assert.Equal(x, coordinates.X);
21+
Assert.Equal(y, coordinates.Y);
22+
}
23+
24+
[Fact]
25+
public void CieXyChromaticityCoordinatesEquality()
26+
{
27+
CieXyChromaticityCoordinates x = default;
28+
CieXyChromaticityCoordinates y = new(1, 1);
29+
30+
Assert.True(default == default(CieXyChromaticityCoordinates));
31+
Assert.True(new CieXyChromaticityCoordinates(1, 0) != default);
32+
Assert.False(new CieXyChromaticityCoordinates(1, 0) == default);
33+
Assert.Equal(default, default(CieXyChromaticityCoordinates));
34+
Assert.Equal(new CieXyChromaticityCoordinates(1, 0), new CieXyChromaticityCoordinates(1, 0));
35+
Assert.Equal(new CieXyChromaticityCoordinates(1, 1), new CieXyChromaticityCoordinates(1, 1));
36+
Assert.False(x.Equals(y));
37+
Assert.False(new CieXyChromaticityCoordinates(1, 0) == default);
38+
Assert.False(x.Equals((object)y));
39+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
40+
}
41+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieXyy"/> struct.
11+
/// </summary>
12+
public class CieXyyTests
13+
{
14+
[Fact]
15+
public void CieXyyConstructorAssignsFields()
16+
{
17+
const float x = 75F;
18+
const float y = 64F;
19+
const float yl = 287F;
20+
CieXyy cieXyy = new(x, y, yl);
21+
22+
Assert.Equal(x, cieXyy.X);
23+
Assert.Equal(y, cieXyy.Y);
24+
Assert.Equal(y, cieXyy.Y);
25+
}
26+
27+
[Fact]
28+
public void CieXyyEquality()
29+
{
30+
CieXyy x = default;
31+
CieXyy y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieXyy));
34+
Assert.False(default != default(CieXyy));
35+
Assert.Equal(default, default(CieXyy));
36+
Assert.Equal(new CieXyy(1, 0, 1), new CieXyy(1, 0, 1));
37+
Assert.Equal(new CieXyy(Vector3.One), new CieXyy(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="CieXyz"/> struct.
11+
/// </summary>
12+
public class CieXyzTests
13+
{
14+
[Fact]
15+
public void CieXyzConstructorAssignsFields()
16+
{
17+
const float x = 75F;
18+
const float y = 64F;
19+
const float z = 287F;
20+
CieXyz cieXyz = new(x, y, z);
21+
22+
Assert.Equal(x, cieXyz.X);
23+
Assert.Equal(y, cieXyz.Y);
24+
Assert.Equal(z, cieXyz.Z);
25+
}
26+
27+
[Fact]
28+
public void CieXyzEquality()
29+
{
30+
CieXyz x = default;
31+
CieXyz y = new(Vector3.One);
32+
33+
Assert.True(default == default(CieXyz));
34+
Assert.False(default != default(CieXyz));
35+
Assert.Equal(default, default(CieXyz));
36+
Assert.Equal(new CieXyz(1, 0, 1), new CieXyz(1, 0, 1));
37+
Assert.Equal(new CieXyz(Vector3.One), new CieXyz(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorProfiles;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="Cmyk"/> struct.
11+
/// </summary>
12+
public class CmykTests
13+
{
14+
[Fact]
15+
public void CmykConstructorAssignsFields()
16+
{
17+
const float c = .75F;
18+
const float m = .64F;
19+
const float y = .87F;
20+
const float k = .334F;
21+
Cmyk cmyk = new(c, m, y, k);
22+
23+
Assert.Equal(c, cmyk.C);
24+
Assert.Equal(m, cmyk.M);
25+
Assert.Equal(y, cmyk.Y);
26+
Assert.Equal(k, cmyk.K);
27+
}
28+
29+
[Fact]
30+
public void CmykEquality()
31+
{
32+
Cmyk x = default;
33+
Cmyk y = new(Vector4.One);
34+
35+
Assert.True(default == default(Cmyk));
36+
Assert.False(default != default(Cmyk));
37+
Assert.Equal(default, default(Cmyk));
38+
Assert.Equal(new Cmyk(1, 0, 1, 0), new Cmyk(1, 0, 1, 0));
39+
Assert.Equal(new Cmyk(Vector4.One), new Cmyk(Vector4.One));
40+
Assert.False(x.Equals(y));
41+
Assert.False(x.Equals((object)y));
42+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
43+
}
44+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) Six Labors.
2+
// Licensed under the Six Labors Split License.
3+
4+
using System.Numerics;
5+
using SixLabors.ImageSharp.ColorSpaces;
6+
7+
namespace SixLabors.ImageSharp.Tests.ColorProfiles;
8+
9+
/// <summary>
10+
/// Tests the <see cref="Hsl"/> struct.
11+
/// </summary>
12+
public class HslTests
13+
{
14+
[Fact]
15+
public void HslConstructorAssignsFields()
16+
{
17+
const float h = 275F;
18+
const float s = .64F;
19+
const float l = .87F;
20+
Hsl hsl = new(h, s, l);
21+
22+
Assert.Equal(h, hsl.H);
23+
Assert.Equal(s, hsl.S);
24+
Assert.Equal(l, hsl.L);
25+
}
26+
27+
[Fact]
28+
public void HslEquality()
29+
{
30+
Hsl x = default;
31+
Hsl y = new(Vector3.One);
32+
33+
Assert.True(default == default(Hsl));
34+
Assert.False(default != default(Hsl));
35+
Assert.Equal(default, default(Hsl));
36+
Assert.Equal(new Hsl(1, 0, 1), new Hsl(1, 0, 1));
37+
Assert.Equal(new Hsl(Vector3.One), new Hsl(Vector3.One));
38+
Assert.False(x.Equals(y));
39+
Assert.False(x.Equals((object)y));
40+
Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
41+
}
42+
}

0 commit comments

Comments
 (0)