mirror of https://github.com/SixLabors/ImageSharp
20 changed files with 198 additions and 2436 deletions
@ -1,175 +1,112 @@ |
|||||
//// Copyright (c) Six Labors and contributors.
|
// Copyright (c) Six Labors and contributors.
|
||||
//// Licensed under the Apache License, Version 2.0.
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
//using System;
|
using System.Numerics; |
||||
//using System.Numerics;
|
using SixLabors.ImageSharp.PixelFormats; |
||||
//using SixLabors.ImageSharp.PixelFormats;
|
using Xunit; |
||||
//using Xunit;
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.PixelFormats |
||||
//namespace SixLabors.ImageSharp.Tests.PixelFormats
|
{ |
||||
//{
|
public class Rgb24Tests |
||||
// public class Rgb24Tests
|
{ |
||||
// {
|
public static readonly TheoryData<byte, byte, byte> ColorData = |
||||
// public static readonly TheoryData<byte, byte, byte> ColorData =
|
new TheoryData<byte, byte, byte>() |
||||
// new TheoryData<byte, byte, byte>() { { 1, 2, 3 }, { 4, 5, 6 }, { 0, 255, 42 } };
|
{ |
||||
|
{ 1, 2, 3 }, |
||||
// [Theory]
|
{ 4, 5, 6 }, |
||||
// [MemberData(nameof(ColorData))]
|
{ 0, 255, 42 } |
||||
// public void Constructor(byte r, byte g, byte b)
|
}; |
||||
// {
|
|
||||
// var p = new Rgb24(r, g, b);
|
[Theory] |
||||
|
[MemberData(nameof(ColorData))] |
||||
// Assert.Equal(r, p.R);
|
public void Constructor(byte r, byte g, byte b) |
||||
// Assert.Equal(g, p.G);
|
{ |
||||
// Assert.Equal(b, p.B);
|
var p = new Rgb24(r, g, b); |
||||
// }
|
|
||||
|
Assert.Equal(r, p.R); |
||||
// [Fact]
|
Assert.Equal(g, p.G); |
||||
// public unsafe void ByteLayoutIsSequentialRgb()
|
Assert.Equal(b, p.B); |
||||
// {
|
} |
||||
// var color = new Rgb24(1, 2, 3);
|
|
||||
// byte* ptr = (byte*)&color;
|
[Fact] |
||||
|
public unsafe void ByteLayoutIsSequentialRgb() |
||||
// Assert.Equal(1, ptr[0]);
|
{ |
||||
// Assert.Equal(2, ptr[1]);
|
var color = new Rgb24(1, 2, 3); |
||||
// Assert.Equal(3, ptr[2]);
|
byte* ptr = (byte*)&color; |
||||
// }
|
|
||||
|
Assert.Equal(1, ptr[0]); |
||||
// [Theory]
|
Assert.Equal(2, ptr[1]); |
||||
// [MemberData(nameof(ColorData))]
|
Assert.Equal(3, ptr[2]); |
||||
// public void Equals_WhenTrue(byte r, byte g, byte b)
|
} |
||||
// {
|
|
||||
// var x = new Rgb24(r, g, b);
|
[Theory] |
||||
// var y = new Rgb24(r, g, b);
|
[MemberData(nameof(ColorData))] |
||||
|
public void Equals_WhenTrue(byte r, byte g, byte b) |
||||
// Assert.True(x.Equals(y));
|
{ |
||||
// Assert.True(x.Equals((object)y));
|
var x = new Rgb24(r, g, b); |
||||
// Assert.Equal(x.GetHashCode(), y.GetHashCode());
|
var y = new Rgb24(r, g, b); |
||||
// }
|
|
||||
|
Assert.True(x.Equals(y)); |
||||
// [Theory]
|
Assert.True(x.Equals((object)y)); |
||||
// [InlineData(1, 2, 3, 1, 2, 4)]
|
Assert.Equal(x.GetHashCode(), y.GetHashCode()); |
||||
// [InlineData(0, 255, 0, 0, 244, 0)]
|
} |
||||
// [InlineData(1, 255, 0, 0, 255, 0)]
|
|
||||
// public void Equals_WhenFalse(byte r1, byte g1, byte b1, byte r2, byte g2, byte b2)
|
[Theory] |
||||
// {
|
[InlineData(1, 2, 3, 1, 2, 4)] |
||||
// var a = new Rgb24(r1, g1, b1);
|
[InlineData(0, 255, 0, 0, 244, 0)] |
||||
// var b = new Rgb24(r2, g2, b2);
|
[InlineData(1, 255, 0, 0, 255, 0)] |
||||
|
public void Equals_WhenFalse(byte r1, byte g1, byte b1, byte r2, byte g2, byte b2) |
||||
// Assert.False(a.Equals(b));
|
{ |
||||
// Assert.False(a.Equals((object)b));
|
var a = new Rgb24(r1, g1, b1); |
||||
// }
|
var b = new Rgb24(r2, g2, b2); |
||||
|
|
||||
// [Fact]
|
Assert.False(a.Equals(b)); |
||||
// public void PackFromRgba32()
|
Assert.False(a.Equals((object)b)); |
||||
// {
|
} |
||||
// var rgb = default(Rgb24);
|
|
||||
// rgb.PackFromRgba32(new Rgba32(1, 2, 3, 4));
|
[Fact] |
||||
|
public void PackFromRgba32() |
||||
// Assert.Equal(1, rgb.R);
|
{ |
||||
// Assert.Equal(2, rgb.G);
|
var rgb = default(Rgb24); |
||||
// Assert.Equal(3, rgb.B);
|
rgb.PackFromRgba32(new Rgba32(1, 2, 3, 4)); |
||||
// }
|
|
||||
|
Assert.Equal(1, rgb.R); |
||||
// private static Vector4 Vec(byte r, byte g, byte b, byte a = 255) => new Vector4(
|
Assert.Equal(2, rgb.G); |
||||
// r / 255f,
|
Assert.Equal(3, rgb.B); |
||||
// g / 255f,
|
} |
||||
// b / 255f,
|
|
||||
// a / 255f);
|
private static Vector4 Vec(byte r, byte g, byte b, byte a = 255) => new Vector4( |
||||
|
r / 255f, |
||||
// [Fact]
|
g / 255f, |
||||
// public void PackFromVector4()
|
b / 255f, |
||||
// {
|
a / 255f); |
||||
// var rgb = default(Rgb24);
|
|
||||
// rgb.PackFromVector4(Vec(1, 2, 3, 4));
|
[Fact] |
||||
|
public void PackFromVector4() |
||||
// Assert.Equal(1, rgb.R);
|
{ |
||||
// Assert.Equal(2, rgb.G);
|
var rgb = default(Rgb24); |
||||
// Assert.Equal(3, rgb.B);
|
rgb.PackFromVector4(Vec(1, 2, 3, 4)); |
||||
// }
|
|
||||
|
Assert.Equal(1, rgb.R); |
||||
// [Fact]
|
Assert.Equal(2, rgb.G); |
||||
// public void ToVector4()
|
Assert.Equal(3, rgb.B); |
||||
// {
|
} |
||||
// var rgb = new Rgb24(1, 2, 3);
|
|
||||
|
[Fact] |
||||
// Assert.Equal(Vec(1, 2, 3), rgb.ToVector4());
|
public void ToVector4() |
||||
// }
|
{ |
||||
|
var rgb = new Rgb24(1, 2, 3); |
||||
// [Fact]
|
|
||||
// public void ToRgb24()
|
Assert.Equal(Vec(1, 2, 3), rgb.ToVector4()); |
||||
// {
|
} |
||||
// var rgb = new Rgb24(1, 2, 3);
|
|
||||
// var dest = default(Rgb24);
|
[Fact] |
||||
|
public void ToRgba32() |
||||
// rgb.ToRgb24(ref dest);
|
{ |
||||
|
var rgb = new Rgb24(1, 2, 3); |
||||
// Assert.Equal(rgb, dest);
|
var rgba = rgb.ToRgba32(); |
||||
// }
|
|
||||
|
Assert.Equal(new Rgba32(1, 2, 3, 255), rgba); |
||||
// [Fact]
|
} |
||||
// public void ToRgba32()
|
} |
||||
// {
|
} |
||||
// var rgb = new Rgb24(1, 2, 3);
|
|
||||
// var rgba = default(Rgba32);
|
|
||||
|
|
||||
// rgb.ToRgba32(ref rgba);
|
|
||||
|
|
||||
// Assert.Equal(new Rgba32(1, 2, 3, 255), rgba);
|
|
||||
// }
|
|
||||
|
|
||||
// [Fact]
|
|
||||
// public void ToBgr24()
|
|
||||
// {
|
|
||||
// var rgb = new Rgb24(1, 2, 3);
|
|
||||
// var bgr = default(Bgr24);
|
|
||||
|
|
||||
// rgb.ToBgr24(ref bgr);
|
|
||||
|
|
||||
// Assert.Equal(new Bgr24(1, 2, 3), bgr);
|
|
||||
// }
|
|
||||
|
|
||||
// [Fact]
|
|
||||
// public void ToBgra32()
|
|
||||
// {
|
|
||||
// var rgb = new Rgb24(1, 2, 3);
|
|
||||
// var bgra = default(Bgra32);
|
|
||||
|
|
||||
// rgb.ToBgra32(ref bgra);
|
|
||||
|
|
||||
// Assert.Equal(new Bgra32(1, 2, 3, 255), bgra);
|
|
||||
// }
|
|
||||
|
|
||||
// [Fact]
|
|
||||
// public void Rgb24_PackFromRgb48_ToRgb48()
|
|
||||
// {
|
|
||||
// // arrange
|
|
||||
// var input = default(Rgb24);
|
|
||||
// var actual = default(Rgb48);
|
|
||||
// var expected = new Rgb48(65535, 0, 65535);
|
|
||||
|
|
||||
// // act
|
|
||||
// input.PackFromRgb48(expected);
|
|
||||
// input.ToRgb48(ref actual);
|
|
||||
|
|
||||
// // assert
|
|
||||
// Assert.Equal(expected, actual);
|
|
||||
// }
|
|
||||
|
|
||||
// [Fact]
|
|
||||
// public void Rgb24_PackFromRgba64_ToRgba64()
|
|
||||
// {
|
|
||||
// // arrange
|
|
||||
// var input = default(Rgb24);
|
|
||||
// var actual = default(Rgba64);
|
|
||||
// var expected = new Rgba64(65535, 0, 65535, 65535);
|
|
||||
|
|
||||
// // act
|
|
||||
// input.PackFromRgba64(expected);
|
|
||||
// input.ToRgba64(ref actual);
|
|
||||
|
|
||||
// // assert
|
|
||||
// Assert.Equal(expected, actual);
|
|
||||
// }
|
|
||||
// }
|
|
||||
//}
|
|
||||
@ -1,192 +1,61 @@ |
|||||
//// Copyright (c) Six Labors and contributors.
|
// Copyright (c) Six Labors and contributors.
|
||||
//// Licensed under the Apache License, Version 2.0.
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
//using System.Numerics;
|
using System.Numerics; |
||||
//using SixLabors.ImageSharp.PixelFormats;
|
using SixLabors.ImageSharp.PixelFormats; |
||||
//using Xunit;
|
using Xunit; |
||||
|
|
||||
//namespace SixLabors.ImageSharp.Tests.PixelFormats
|
namespace SixLabors.ImageSharp.Tests.PixelFormats |
||||
//{
|
{ |
||||
// public class Rgb48Tests
|
public class Rgb48Tests |
||||
// {
|
{ |
||||
// [Fact]
|
[Fact] |
||||
// public void Rgb48_Values()
|
public void Rgb48_Values() |
||||
// {
|
{ |
||||
// var rgb = new Rgba64(5243, 9830, 19660, 29491);
|
var rgb = new Rgba64(5243, 9830, 19660, 29491); |
||||
|
|
||||
// Assert.Equal(5243, rgb.R);
|
Assert.Equal(5243, rgb.R); |
||||
// Assert.Equal(9830, rgb.G);
|
Assert.Equal(9830, rgb.G); |
||||
// Assert.Equal(19660, rgb.B);
|
Assert.Equal(19660, rgb.B); |
||||
// Assert.Equal(29491, rgb.A);
|
Assert.Equal(29491, rgb.A); |
||||
// }
|
} |
||||
|
|
||||
// [Fact]
|
[Fact] |
||||
// public void Rgb48_ToVector4()
|
public void Rgb48_ToVector4() |
||||
// {
|
=> Assert.Equal(Vector4.One, new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue).ToVector4()); |
||||
// Assert.Equal(new Vector4(0, 0, 0, 1), new Rgb48(0, 0, 0, 0).ToVector4());
|
|
||||
// Assert.Equal(Vector4.One, new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue).ToVector4());
|
[Fact] |
||||
// }
|
public void Rgb48_ToScaledVector4() |
||||
|
=> Assert.Equal(Vector4.One, new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue).ToVector4()); |
||||
// [Fact]
|
|
||||
// public void Rgb48_ToScaledVector4()
|
[Fact] |
||||
// {
|
public void Rgb48_PackFromScaledVector4() |
||||
// // arrange
|
{ |
||||
// var short2 = new Rgb48(Vector3.One);
|
// arrange
|
||||
|
var pixel = default(Rgb48); |
||||
// // act
|
var short3 = new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue); |
||||
// Vector4 actual = short2.ToScaledVector4();
|
var expected = new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue); |
||||
|
|
||||
// // assert
|
// act
|
||||
// Assert.Equal(1, actual.X);
|
Vector4 scaled = short3.ToScaledVector4(); |
||||
// Assert.Equal(1, actual.Y);
|
pixel.PackFromScaledVector4(scaled); |
||||
// Assert.Equal(1, actual.Z);
|
|
||||
// Assert.Equal(1, actual.W);
|
// assert
|
||||
// }
|
Assert.Equal(expected, pixel); |
||||
|
} |
||||
// [Fact]
|
|
||||
// public void Rgb48_PackFromScaledVector4()
|
[Fact] |
||||
// {
|
public void Rgb48_ToRgba32() |
||||
// // arrange
|
{ |
||||
// var pixel = default(Rgb48);
|
// arrange
|
||||
// var short3 = new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue);
|
var rgba48 = new Rgb48(5140, 9766, 19532); |
||||
// var expected = new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue);
|
var expected = new Rgba32(20, 38, 76, 255); |
||||
|
|
||||
// // act
|
// act
|
||||
// Vector4 scaled = short3.ToScaledVector4();
|
var actual = rgba48.ToRgba32(); |
||||
// pixel.PackFromScaledVector4(scaled);
|
|
||||
|
// assert
|
||||
// // assert
|
Assert.Equal(expected, actual); |
||||
// Assert.Equal(expected, pixel);
|
} |
||||
// }
|
} |
||||
|
} |
||||
// //[Fact]
|
|
||||
// //public void Rgb48_Clamping()
|
|
||||
// //{
|
|
||||
// // Assert.Equal(new Vector4(0, 0, 0, 1), new Rgb48(Vector3.One * -1234.0f).ToVector4());
|
|
||||
// // Assert.Equal(Vector4.One, new Rgb48(Vector3.One * 1234.0f).ToVector4());
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_ToRgb24()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgba48 = new Rgb48(0.08f, 0.15f, 0.30f);
|
|
||||
// // var actual = default(Rgb24);
|
|
||||
// // var expected = new Rgb24(20, 38, 76);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgba48.ToRgb24(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_ToRgba32()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgba48 = new Rgb48(0.08f, 0.15f, 0.30f);
|
|
||||
// // var actual = default(Rgba32);
|
|
||||
// // var expected = new Rgba32(20, 38, 76, 255);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgba48.ToRgba32(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_ToArgb32()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgba48 = new Rgb48(0.08f, 0.15f, 0.30f);
|
|
||||
// // var actual = default(Argb32);
|
|
||||
// // var expected = new Argb32(20, 38, 76, 255);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgba48.ToArgb32(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgba64_ToBgr24()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgb48 = new Rgb48(0.08f, 0.15f, 0.30f);
|
|
||||
// // var actual = default(Bgr24);
|
|
||||
// // var expected = new Bgr24(20, 38, 76);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgb48.ToBgr24(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_ToBgra32()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgba48 = new Rgb48(0.08f, 0.15f, 0.30f);
|
|
||||
// // var actual = default(Bgra32);
|
|
||||
// // var expected = new Bgra32(20, 38, 76, 255);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgba48.ToBgra32(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_PackFromRgba32_ToRgba32()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var rgb48 = default(Rgb48);
|
|
||||
// // var actual = default(Rgba32);
|
|
||||
// // var expected = new Rgba32(20, 38, 76, 255);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // rgb48.PackFromRgba32(expected);
|
|
||||
// // rgb48.ToRgba32(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_PackFromRgb48_ToRgb48()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var input = default(Rgb48);
|
|
||||
// // var actual = default(Rgb48);
|
|
||||
// // var expected = new Rgb48(65535, 0, 65535);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // input.PackFromRgb48(expected);
|
|
||||
// // input.ToRgb48(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
|
|
||||
// //[Fact]
|
|
||||
// //public void Rgb48_PackFromRgba64_ToRgba64()
|
|
||||
// //{
|
|
||||
// // // arrange
|
|
||||
// // var input = default(Rgb48);
|
|
||||
// // var actual = default(Rgba64);
|
|
||||
// // var expected = new Rgba64(65535, 0, 65535, 65535);
|
|
||||
|
|
||||
// // // act
|
|
||||
// // input.PackFromRgba64(expected);
|
|
||||
// // input.ToRgba64(ref actual);
|
|
||||
|
|
||||
// // // assert
|
|
||||
// // Assert.Equal(expected, actual);
|
|
||||
// //}
|
|
||||
// }
|
|
||||
//}
|
|
||||
@ -1 +1 @@ |
|||||
Subproject commit 1a807d17b4cf5ab50558983d4137614cabe96ce3 |
Subproject commit ee90e5f32218027744b5d40058b587cc1047b76f |
||||
Loading…
Reference in new issue