mirror of https://github.com/SixLabors/ImageSharp
4 changed files with 89 additions and 18 deletions
@ -0,0 +1,86 @@ |
|||
// Copyright (c) Six Labors and contributors.
|
|||
// Licensed under the Apache License, Version 2.0.
|
|||
|
|||
using System.Numerics; |
|||
using SixLabors.ImageSharp.ColorSpaces; |
|||
using SixLabors.ImageSharp.PixelFormats; |
|||
using Xunit; |
|||
|
|||
namespace SixLabors.ImageSharp.Tests.Colorspaces |
|||
{ |
|||
|
|||
/// <summary>
|
|||
/// Tests the <see cref="Rgb"/> struct.
|
|||
/// </summary>
|
|||
public class RgbTests |
|||
{ |
|||
[Fact] |
|||
public void RgbConstructorAssignsFields() |
|||
{ |
|||
const float r = .75F; |
|||
const float g = .64F; |
|||
const float b = .87F; |
|||
var rgb = new Rgb(r, g, b); |
|||
|
|||
Assert.Equal(r, rgb.R); |
|||
Assert.Equal(g, rgb.G); |
|||
Assert.Equal(b, rgb.B); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RgbEquality() |
|||
{ |
|||
var x = default(Rgb); |
|||
var y = new Rgb(Vector3.One); |
|||
|
|||
Assert.True(default(Rgb) == default(Rgb)); |
|||
Assert.False(default(Rgb) != default(Rgb)); |
|||
Assert.Equal(default(Rgb), default(Rgb)); |
|||
Assert.Equal(new Rgb(1, 0, 1), new Rgb(1, 0, 1)); |
|||
Assert.Equal(new Rgb(Vector3.One), new Rgb(Vector3.One)); |
|||
Assert.False(x.Equals(y)); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RgbAndRgb24Operators() |
|||
{ |
|||
const byte r = 64; |
|||
const byte g = 128; |
|||
const byte b = 255; |
|||
|
|||
var rgb = new Rgb(r / 255F, g / 255F, b / 255F); |
|||
|
|||
Rgb24 rgb24 = rgb; |
|||
Rgb rgb2 = rgb24; |
|||
|
|||
Assert.Equal(r, rgb24.R); |
|||
Assert.Equal(g, rgb24.G); |
|||
Assert.Equal(b, rgb24.B); |
|||
|
|||
Assert.Equal(r / 255F, rgb2.R); |
|||
Assert.Equal(g / 255F, rgb2.G); |
|||
Assert.Equal(b / 255F, rgb2.B); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RgbAndRgba32Operators() |
|||
{ |
|||
const byte r = 64; |
|||
const byte g = 128; |
|||
const byte b = 255; |
|||
|
|||
var rgb = new Rgb(r / 255F, g / 255F, b / 255F); |
|||
|
|||
Rgba32 rgba32 = rgb; |
|||
Rgb rgb2 = rgba32; |
|||
|
|||
Assert.Equal(r, rgba32.R); |
|||
Assert.Equal(g, rgba32.G); |
|||
Assert.Equal(b, rgba32.B); |
|||
|
|||
Assert.Equal(r / 255F, rgb2.R); |
|||
Assert.Equal(g / 255F, rgb2.G); |
|||
Assert.Equal(b / 255F, rgb2.B); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue