internal static void WriteSpecialValue_SingleValue_HappyPath(CborSpecialValue input, string hexExpectedEncoding) { byte[] expectedEncoding = hexExpectedEncoding.HexToByteArray(); using var writer = new CborWriter(); writer.WriteSpecialValue(input); AssertHelper.HexEqual(expectedEncoding, writer.ToArray()); }
internal static void ReadSpecialValue_SingleValue_HappyPath(CborSpecialValue expectedResult, string hexEncoding) { byte[] encoding = hexEncoding.HexToByteArray(); var reader = new CborReader(encoding); CborSpecialValue actualResult = reader.ReadSpecialValue(); Assert.Equal(expectedResult, actualResult); Assert.Equal(CborReaderState.Finished, reader.Peek()); }
public void WriteSpecialValue(CborSpecialValue value) { if ((byte)value < 24) { EnsureWriteCapacity(1); WriteInitialByte(new CborInitialByte(CborMajorType.Special, (CborAdditionalInfo)value)); } else { EnsureWriteCapacity(2); WriteInitialByte(new CborInitialByte(CborMajorType.Special, CborAdditionalInfo.Additional8BitData)); _buffer[_offset++] = (byte)value; } AdvanceDataItemCounters(); }