// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. namespace SixLabors.ImageSharp.Tests { internal static class IccTestDataPrimitives { public static readonly byte[] UInt16_0 = { 0x00, 0x00 }; public static readonly byte[] UInt16_1 = { 0x00, 0x01 }; public static readonly byte[] UInt16_2 = { 0x00, 0x02 }; public static readonly byte[] UInt16_3 = { 0x00, 0x03 }; public static readonly byte[] UInt16_4 = { 0x00, 0x04 }; public static readonly byte[] UInt16_5 = { 0x00, 0x05 }; public static readonly byte[] UInt16_6 = { 0x00, 0x06 }; public static readonly byte[] UInt16_7 = { 0x00, 0x07 }; public static readonly byte[] UInt16_8 = { 0x00, 0x08 }; public static readonly byte[] UInt16_9 = { 0x00, 0x09 }; public static readonly byte[] UInt16_32768 = { 0x80, 0x00 }; public static readonly byte[] UInt16_Max = { 0xFF, 0xFF }; public static readonly byte[] Int16_Min = { 0x80, 0x00 }; public static readonly byte[] Int16_0 = { 0x00, 0x00 }; public static readonly byte[] Int16_1 = { 0x00, 0x01 }; public static readonly byte[] Int16_2 = { 0x00, 0x02 }; public static readonly byte[] Int16_3 = { 0x00, 0x03 }; public static readonly byte[] Int16_4 = { 0x00, 0x04 }; public static readonly byte[] Int16_5 = { 0x00, 0x05 }; public static readonly byte[] Int16_6 = { 0x00, 0x06 }; public static readonly byte[] Int16_7 = { 0x00, 0x07 }; public static readonly byte[] Int16_8 = { 0x00, 0x08 }; public static readonly byte[] Int16_9 = { 0x00, 0x09 }; public static readonly byte[] Int16_Max = { 0x7F, 0xFF }; public static readonly byte[] UInt32_0 = { 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] UInt32_1 = { 0x00, 0x00, 0x00, 0x01 }; public static readonly byte[] UInt32_2 = { 0x00, 0x00, 0x00, 0x02 }; public static readonly byte[] UInt32_3 = { 0x00, 0x00, 0x00, 0x03 }; public static readonly byte[] UInt32_4 = { 0x00, 0x00, 0x00, 0x04 }; public static readonly byte[] UInt32_5 = { 0x00, 0x00, 0x00, 0x05 }; public static readonly byte[] UInt32_6 = { 0x00, 0x00, 0x00, 0x06 }; public static readonly byte[] UInt32_7 = { 0x00, 0x00, 0x00, 0x07 }; public static readonly byte[] UInt32_8 = { 0x00, 0x00, 0x00, 0x08 }; public static readonly byte[] UInt32_9 = { 0x00, 0x00, 0x00, 0x09 }; public static readonly byte[] UInt32_Max = { 0xFF, 0xFF, 0xFF, 0xFF }; public static readonly uint UInt32_ValRand1 = 1749014123; public static readonly uint UInt32_ValRand2 = 3870560989; public static readonly uint UInt32_ValRand3 = 1050090334; public static readonly uint UInt32_ValRand4 = 3550252874; public static readonly byte[] UInt32_Rand1 = { 0x68, 0x3F, 0xD6, 0x6B }; public static readonly byte[] UInt32_Rand2 = { 0xE6, 0xB4, 0x12, 0xDD }; public static readonly byte[] UInt32_Rand3 = { 0x3E, 0x97, 0x1B, 0x5E }; public static readonly byte[] UInt32_Rand4 = { 0xD3, 0x9C, 0x8F, 0x4A }; public static readonly byte[] Int32_Min = { 0x80, 0x00, 0x00, 0x00 }; public static readonly byte[] Int32_0 = { 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Int32_1 = { 0x00, 0x00, 0x00, 0x01 }; public static readonly byte[] Int32_2 = { 0x00, 0x00, 0x00, 0x02 }; public static readonly byte[] Int32_3 = { 0x00, 0x00, 0x00, 0x03 }; public static readonly byte[] Int32_4 = { 0x00, 0x00, 0x00, 0x04 }; public static readonly byte[] Int32_5 = { 0x00, 0x00, 0x00, 0x05 }; public static readonly byte[] Int32_6 = { 0x00, 0x00, 0x00, 0x06 }; public static readonly byte[] Int32_7 = { 0x00, 0x00, 0x00, 0x07 }; public static readonly byte[] Int32_8 = { 0x00, 0x00, 0x00, 0x08 }; public static readonly byte[] Int32_9 = { 0x00, 0x00, 0x00, 0x09 }; public static readonly byte[] Int32_Max = { 0x7F, 0xFF, 0xFF, 0xFF }; public static readonly byte[] UInt64_0 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] UInt64_1 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; public static readonly byte[] UInt64_2 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }; public static readonly byte[] UInt64_3 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 }; public static readonly byte[] UInt64_4 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }; public static readonly byte[] UInt64_5 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05 }; public static readonly byte[] UInt64_6 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06 }; public static readonly byte[] UInt64_7 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07 }; public static readonly byte[] UInt64_8 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 }; public static readonly byte[] UInt64_9 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09 }; public static readonly byte[] UInt64_Max = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; public static readonly byte[] Int64_Min = { 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Int64_0 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Int64_1 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; public static readonly byte[] Int64_2 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }; public static readonly byte[] Int64_3 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 }; public static readonly byte[] Int64_4 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }; public static readonly byte[] Int64_5 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05 }; public static readonly byte[] Int64_6 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06 }; public static readonly byte[] Int64_7 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07 }; public static readonly byte[] Int64_8 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 }; public static readonly byte[] Int64_9 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09 }; public static readonly byte[] Int64_Max = { 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; public static readonly byte[] Single_Min = { 0xFF, 0x7F, 0xFF, 0xFF }; public static readonly byte[] Single_0 = { 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Single_1 = { 0x3F, 0x80, 0x00, 0x00 }; public static readonly byte[] Single_2 = { 0x40, 0x00, 0x00, 0x00 }; public static readonly byte[] Single_3 = { 0x40, 0x40, 0x00, 0x00 }; public static readonly byte[] Single_4 = { 0x40, 0x80, 0x00, 0x00 }; public static readonly byte[] Single_5 = { 0x40, 0xA0, 0x00, 0x00 }; public static readonly byte[] Single_6 = { 0x40, 0xC0, 0x00, 0x00 }; public static readonly byte[] Single_7 = { 0x40, 0xE0, 0x00, 0x00 }; public static readonly byte[] Single_8 = { 0x41, 0x00, 0x00, 0x00 }; public static readonly byte[] Single_9 = { 0x41, 0x10, 0x00, 0x00 }; public static readonly byte[] Single_Max = { 0x7F, 0x7F, 0xFF, 0xFF }; public static readonly byte[] Double_Min = { 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; public static readonly byte[] Double_0 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Double_1 = { 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Double_Max = { 0x7F, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; public const float Fix16_ValMin = short.MinValue; public const float Fix16_ValMax = short.MaxValue + (65535f / 65536f); public static readonly byte[] Fix16_Min = { 0x80, 0x00, 0x00, 0x00 }; public static readonly byte[] Fix16_0 = { 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] Fix16_1 = { 0x00, 0x01, 0x00, 0x00 }; public static readonly byte[] Fix16_2 = { 0x00, 0x02, 0x00, 0x00 }; public static readonly byte[] Fix16_3 = { 0x00, 0x03, 0x00, 0x00 }; public static readonly byte[] Fix16_4 = { 0x00, 0x04, 0x00, 0x00 }; public static readonly byte[] Fix16_5 = { 0x00, 0x05, 0x00, 0x00 }; public static readonly byte[] Fix16_6 = { 0x00, 0x06, 0x00, 0x00 }; public static readonly byte[] Fix16_7 = { 0x00, 0x07, 0x00, 0x00 }; public static readonly byte[] Fix16_8 = { 0x00, 0x08, 0x00, 0x00 }; public static readonly byte[] Fix16_9 = { 0x00, 0x09, 0x00, 0x00 }; public static readonly byte[] Fix16_Max = { 0x7F, 0xFF, 0xFF, 0xFF }; public static readonly object[][] Fix16TestData = { new object[] { Fix16_Min, Fix16_ValMin }, new object[] { Fix16_0, 0 }, new object[] { Fix16_4, 4 }, new object[] { Fix16_Max, Fix16_ValMax }, }; public const float UFix16_ValMin = 0; public const float UFix16_ValMax = ushort.MaxValue + (65535f / 65536f); public static readonly byte[] UFix16_0 = { 0x00, 0x00, 0x00, 0x00 }; public static readonly byte[] UFix16_1 = { 0x00, 0x01, 0x00, 0x00 }; public static readonly byte[] UFix16_2 = { 0x00, 0x02, 0x00, 0x00 }; public static readonly byte[] UFix16_3 = { 0x00, 0x03, 0x00, 0x00 }; public static readonly byte[] UFix16_4 = { 0x00, 0x04, 0x00, 0x00 }; public static readonly byte[] UFix16_5 = { 0x00, 0x05, 0x00, 0x00 }; public static readonly byte[] UFix16_6 = { 0x00, 0x06, 0x00, 0x00 }; public static readonly byte[] UFix16_7 = { 0x00, 0x07, 0x00, 0x00 }; public static readonly byte[] UFix16_8 = { 0x00, 0x08, 0x00, 0x00 }; public static readonly byte[] UFix16_9 = { 0x00, 0x09, 0x00, 0x00 }; public static readonly byte[] UFix16_Max = { 0xFF, 0xFF, 0xFF, 0xFF }; public static readonly object[][] UFix16TestData = { new object[] { UFix16_0, 0 }, new object[] { UFix16_4, 4 }, new object[] { UFix16_Max, UFix16_ValMax }, }; public const float U1Fix15_ValMin = 0; public const float U1Fix15_ValMax = 1f + (32767f / 32768f); public static readonly byte[] U1Fix15_0 = { 0x00, 0x00 }; public static readonly byte[] U1Fix15_1 = { 0x80, 0x00 }; public static readonly byte[] U1Fix15_Max = { 0xFF, 0xFF }; public static readonly object[][] U1Fix15TestData = { new object[] { U1Fix15_0, 0 }, new object[] { U1Fix15_1, 1 }, new object[] { U1Fix15_Max, U1Fix15_ValMax }, }; public const float UFix8_ValMin = 0; public const float UFix8_ValMax = byte.MaxValue + (255f / 256f); public static readonly byte[] UFix8_0 = { 0x00, 0x00 }; public static readonly byte[] UFix8_1 = { 0x01, 0x00 }; public static readonly byte[] UFix8_2 = { 0x02, 0x00 }; public static readonly byte[] UFix8_3 = { 0x03, 0x00 }; public static readonly byte[] UFix8_4 = { 0x04, 0x00 }; public static readonly byte[] UFix8_5 = { 0x05, 0x00 }; public static readonly byte[] UFix8_6 = { 0x06, 0x00 }; public static readonly byte[] UFix8_7 = { 0x07, 0x00 }; public static readonly byte[] UFix8_8 = { 0x08, 0x00 }; public static readonly byte[] UFix8_9 = { 0x09, 0x00 }; public static readonly byte[] UFix8_Max = { 0xFF, 0xFF }; public static readonly object[][] UFix8TestData = { new object[] { UFix8_0, 0 }, new object[] { UFix8_4, 4 }, new object[] { UFix8_Max, UFix8_ValMax }, }; public const string Ascii_ValRand = "aBcdEf1234"; public const string Ascii_ValRand1 = "Ecf3a"; public const string Ascii_ValRand2 = "2Bd4c"; public const string Ascii_ValRand3 = "cad14"; public const string Ascii_ValRand4 = "fd4E1"; public const string Ascii_ValRandLength4 = "aBcd"; public const string Ascii_ValNullRand = "aBcd\0Ef\0123"; public static readonly byte[] Ascii_Rand = { 97, 66, 99, 100, 69, 102, 49, 50, 51, 52 }; public static readonly byte[] Ascii_Rand1 = { 69, 99, 102, 51, 97 }; public static readonly byte[] Ascii_Rand2 = { 50, 66, 100, 52, 99 }; public static readonly byte[] Ascii_Rand3 = { 99, 97, 100, 49, 52 }; public static readonly byte[] Ascii_Rand4 = { 102, 100, 52, 69, 49 }; public static readonly byte[] Ascii_RandLength4 = { 97, 66, 99, 100 }; public static readonly byte[] Ascii_PaddedRand = { 97, 66, 99, 100, 69, 102, 49, 50, 51, 52, 0, 0, 0, 0 }; public static readonly byte[] Ascii_NullRand = { 97, 66, 99, 100, 0, 69, 102, 0, 49, 50, 51 }; public const int Ascii_Rand_Length = 10; public const int Ascii_PaddedRand_Length = 14; public const int Ascii_NullRand_Length = 11; public const int Ascii_NullRand_LengthNoNull = 4; public static readonly object[][] AsciiTestData = { new object[] { Ascii_Rand, Ascii_Rand_Length, Ascii_ValRand }, new object[] { Ascii_Rand, 4, Ascii_ValRandLength4 }, new object[] { Ascii_NullRand, Ascii_NullRand_LengthNoNull, Ascii_ValRandLength4 }, }; public static readonly object[][] AsciiWriteTestData = { new object[] { Ascii_Rand, Ascii_ValRand }, new object[] { Ascii_NullRand, Ascii_ValNullRand }, }; public static readonly object[][] AsciiPaddingTestData = { new object[] { Ascii_PaddedRand, Ascii_PaddedRand_Length, Ascii_ValRand, true }, new object[] { Ascii_RandLength4, 4, Ascii_ValRand, false }, }; public const string Unicode_ValRand1 = ".6Abäñ$€β𐐷𤭢"; public const string Unicode_ValRand2 = ".6Abäñ"; public const string Unicode_ValRand3 = "$€β𐐷𤭢"; public static readonly byte[] Unicode_Rand1 = { 0x00, 0x2e, // . 0x00, 0x36, // 6 0x00, 0x41, // A 0x00, 0x62, // b 0x00, 0xe4, // ä 0x00, 0xf1, // ñ 0x00, 0x24, // $ 0x20, 0xAC, // € 0x03, 0xb2, // β 0xD8, 0x01, 0xDC, 0x37, // 𐐷 0xD8, 0x52, 0xDF, 0x62, // 𤭢 }; public static readonly byte[] Unicode_Rand2 = { 0x00, 0x2e, // . 0x00, 0x36, // 6 0x00, 0x41, // A 0x00, 0x62, // b 0x00, 0xe4, // ä 0x00, 0xf1, // ñ }; public static readonly byte[] Unicode_Rand3 = { 0x00, 0x24, // $ 0x20, 0xAC, // € 0x03, 0xb2, // β 0xD8, 0x01, 0xDC, 0x37, // 𐐷 0xD8, 0x52, 0xDF, 0x62, // 𤭢 }; } }