private static sbyte[] CreateDecodingMap(string encodingMap) { var decodingMap = new sbyte[0xff]; decodingMap.AsSpan().Fill(-1); for (var i = 0; i < encodingMap.Length; i++) { decodingMap[encodingMap[i]] = (sbyte)i; } return(decodingMap); }
public void Verify_decoding_map() { sbyte[] data = new sbyte[256]; data.AsSpan().Fill(-1); for (int i = 0; i < s_characters.Length; ++i) { data[s_characters[i]] = (sbyte)i; } CollectionAssert.AreEqual(Base64UrlEncoder.s_decodingMap, data); }
private static sbyte[] CreateDecodingMap(string encodingMap) { var decodingMap = new sbyte[0xff]; decodingMap.AsSpan().Fill(-1); for (var i = 0; i < encodingMap.Length; i++) { var ch = encodingMap[i]; decodingMap[Char.ToLowerInvariant(ch)] = (sbyte)i; decodingMap[Char.ToUpperInvariant(ch)] = (sbyte)i; } return(decodingMap); }
public async Task TestSByteCompatibility(int length, bool bigTiff) { sbyte[] refData = new sbyte[length]; new Random(42).NextBytes(MemoryMarshal.AsBytes(refData.AsSpan())); using Stream stream = await GenerateTiffAsync(bigTiff, async ifd => { await ifd.WriteTagAsync((TiffTag) 0x1234, TiffFieldType.SByte, TiffValueCollection.UnsafeWrap(Array.ConvertAll(refData, b => (byte)b))); }); await using (TiffFileReader reader = await TiffFileReader.OpenAsync(stream, leaveOpen: true)) { TiffImageFileDirectory ifd = await reader.ReadImageFileDirectoryAsync(); TiffFieldReader fieldReader = await reader.CreateFieldReaderAsync(); TiffImageFileDirectoryEntry entry = ifd.FindEntry((TiffTag)0x1234); Assert.Equal((TiffTag)0x1234, entry.Tag); // Byte await TestValidConversionAsync(fieldReader, entry, nameof(fieldReader.ReadByteFieldAsync), Array.ConvertAll(refData, v => (byte)v)); // SSbyte await TestValidConversionAsync(fieldReader, entry, nameof(fieldReader.ReadSByteFieldAsync), refData); // Short await TestInvalidConversionAsync <ushort>(fieldReader, entry, nameof(fieldReader.ReadShortFieldAsync), refData.Length); // SShort await TestValidConversionAsync(fieldReader, entry, nameof(fieldReader.ReadSShortFieldAsync), Array.ConvertAll(refData, v => (short)v)); // Long await TestInvalidConversionAsync <uint>(fieldReader, entry, nameof(fieldReader.ReadLongFieldAsync), refData.Length); // SLong await TestValidConversionAsync(fieldReader, entry, nameof(fieldReader.ReadSLongFieldAsync), Array.ConvertAll(refData, v => (int)v)); // Float await TestInvalidConversionAsync <float>(fieldReader, entry, nameof(fieldReader.ReadFloatFieldAsync), refData.Length); // Double await TestInvalidConversionAsync <double>(fieldReader, entry, nameof(fieldReader.ReadDoubleFieldAsync), refData.Length); // Rational await TestInvalidConversionAsync <TiffRational>(fieldReader, entry, nameof(fieldReader.ReadRationalFieldAsync), refData.Length); // SRational await TestValidConversionAsync(fieldReader, entry, nameof(fieldReader.ReadSRationalFieldAsync), Array.ConvertAll(refData, v => new TiffSRational((int)v, 1))); } }
public void Verify_decoding_map() { sbyte[] expected = new sbyte[256]; Base64Encoder.DecodingMap.CopyTo(expected.AsSpan()); sbyte[] data = new sbyte[256]; data.AsSpan().Fill(-1); for (int i = 0; i < Characters.Length; ++i) { data[Characters[i]] = (sbyte)i; } CollectionAssert.AreEqual(expected, data); }