Skip to content

Commit 1a64ce6

Browse files
committed
Improved 7-bit length encoding compatibility in tests
1 parent 312c65e commit 1a64ce6

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

src/DotNext.Tests/IO/StreamExtensionsTests.cs

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -101,28 +101,38 @@ public static async Task ReadWriteBlittableTypeAsync()
101101
Equal(10M, (await ms.ReadAsync<Blittable<decimal>>(buffer)).Value);
102102
}
103103

104-
[Fact]
105-
public static async Task BinaryReaderInterop()
104+
[Theory]
105+
[InlineData(7)]
106+
[InlineData(16)]
107+
[InlineData(0x7F)]
108+
[InlineData(0x80)]
109+
public static async Task BinaryReaderInterop(int length)
106110
{
111+
var expected = Random.Shared.NextString(Alphabet + AlphabetUpperCase + Numbers, length);
107112
using var ms = new MemoryStream();
108-
await ms.EncodeAsync("ABC".AsMemory(), Encoding.UTF8, LengthFormat.Compressed, new byte[16]);
113+
await ms.EncodeAsync(expected.AsMemory(), Encoding.UTF8, LengthFormat.Compressed, new byte[16]);
109114
ms.Position = 0;
110115
using var reader = new BinaryReader(ms, Encoding.UTF8, true);
111-
Equal("ABC", reader.ReadString());
116+
Equal(expected, reader.ReadString());
112117
}
113118

114-
[Fact]
115-
public static async Task BinaryWriterInterop()
119+
[Theory]
120+
[InlineData(7)]
121+
[InlineData(16)]
122+
[InlineData(0x7F)]
123+
[InlineData(0x80)]
124+
public static async Task BinaryWriterInterop(int length)
116125
{
126+
var expected = Random.Shared.NextString(Alphabet + AlphabetUpperCase + Numbers, length);
117127
using var ms = new MemoryStream();
118-
using (var writer = new BinaryWriter(ms, Encoding.UTF8, true))
128+
await using (var writer = new BinaryWriter(ms, Encoding.UTF8, true))
119129
{
120-
writer.Write("ABC");
130+
writer.Write(expected);
121131
}
122132
ms.Position = 0;
123133

124134
using var result = await ms.DecodeAsync(Encoding.UTF8, LengthFormat.Compressed, new byte[16]);
125-
Equal("ABC", result.ToString());
135+
Equal(expected, result.Span);
126136
}
127137

128138
[Fact]

0 commit comments

Comments
 (0)