Skip to content

Commit 6df2774

Browse files
committed
Check difference between LEB128 and ULEB128
1 parent 7a488a1 commit 6df2774

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/DotNext.Tests/Buffers/Binary/Leb128Tests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,17 @@ public static void CompatibilityWithBinaryWriter(int expected)
7070
True(Leb128<uint>.TryParse(stream.GetBuffer(), out var actual, out _));
7171
Equal((uint)expected, actual);
7272
}
73+
74+
[Fact]
75+
public static void DifferenceBetweenSignedAndUnsignedEncoding()
76+
{
77+
Equal(Leb128<int>.MaxSizeInBytes, Leb128<uint>.MaxSizeInBytes);
78+
79+
Span<byte> buffer = stackalloc byte[Leb128<int>.MaxSizeInBytes];
80+
True(Leb128<uint>.TryGetBytes(0x7Fu, buffer, out var bytesWritten));
81+
Equal(1, bytesWritten);
82+
83+
True(Leb128<int>.TryGetBytes(0x7F, buffer, out bytesWritten));
84+
Equal(2, bytesWritten);
85+
}
7386
}

0 commit comments

Comments
 (0)