Skip to content

Commit ec4ff22

Browse files
committed
Migration to Span-based assertions
1 parent 92de2ca commit ec4ff22

17 files changed

Lines changed: 73 additions & 72 deletions

src/DotNext.Tests/Buffers/BufferWriterTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public static void DetachBuffer(BufferWriter<byte> writer)
203203
Equal(0, writer.FreeCapacity);
204204
False(buffer.IsEmpty);
205205
Equal(3, buffer.Length);
206-
Equal(bytes, buffer.Memory.ToArray());
206+
Equal(bytes, buffer.Memory);
207207
buffer.Dispose();
208208
}
209209
}

src/DotNext.Tests/Buffers/MemoryWriterTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,8 @@ public static void Insertion()
327327
block[2] = 120;
328328

329329
writer.Insert(writer.WrittenCount - 1, block);
330-
Equal(random[..^1], writer.WrittenMemory.Span.Slice(0, random.Length - 1).ToArray());
331-
Equal(block.ToArray(), writer.WrittenMemory.Span.Slice(random.Length - 1, 3).ToArray());
330+
Equal(random[..^1], writer.WrittenMemory.Span.Slice(0, random.Length - 1));
331+
Equal(block, writer.WrittenMemory.Span.Slice(random.Length - 1, 3));
332332
}
333333

334334
[Fact]
@@ -350,7 +350,7 @@ public static void Overwrite()
350350
var random2 = RandomBytes(random.Length + 1);
351351
writer.Overwrite(1, random2);
352352
Equal(random[0], writer[0]);
353-
Equal(random2, writer.WrittenMemory.Span.Slice(1).ToArray());
353+
Equal(random2, writer.WrittenMemory.Span.Slice(1));
354354
}
355355

356356
[Fact]

src/DotNext.Tests/Buffers/SequenceBuilderTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using System.Buffers;
2-
31
namespace DotNext.Buffers;
42

53
public sealed class SequenceBuilderTests : Test
@@ -34,6 +32,6 @@ public static void BuildSequence()
3432
// must be greater than 4096 because it's a default size of arrays obtained from ArrayPool<T>.Shared
3533
var expected = RandomBytes(5000);
3634
builder.Write(expected);
37-
Equal(expected, builder.As<IReadOnlySequenceSource<byte>>().Sequence.ToArray());
35+
True(builder.As<IReadOnlySequenceSource<byte>>().Sequence.SequenceEqual(expected));
3836
}
3937
}

src/DotNext.Tests/Buffers/SpanReaderWriterTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static unsafe void WriteAndGet()
2828
segment[3] = 50;
2929
Equal(5, writer.WrittenCount);
3030
Equal(0, writer.FreeCapacity);
31-
Equal(new [] { 10, 20, 30, 40, 50 }, writer.WrittenSpan.ToArray());
31+
Equal([10, 20, 30, 40, 50], writer.WrittenSpan);
3232

3333
var exceptionThrown = false;
3434
try
@@ -67,8 +67,8 @@ public static void ReadWrite()
6767
Equal(2, reader.RemainingCount);
6868
Equal(1, reader.ConsumedCount);
6969

70-
Equal(new byte[] { 10 }, reader.ConsumedSpan.ToArray());
71-
Equal(new byte[] { 20, 30 }, reader.Read(2).ToArray());
70+
Equal<byte>([10], reader.ConsumedSpan);
71+
Equal<byte>([20, 30], reader.Read(2));
7272

7373
Equal(0, reader.Read(new byte[2]));
7474

@@ -103,7 +103,7 @@ public static void EmptyReader()
103103
var reader = new SpanReader<byte>();
104104
Equal(0, reader.RemainingCount);
105105
Equal(0, reader.ConsumedCount);
106-
Equal([], reader.ReadToEnd().ToArray());
106+
Equal([], reader.ReadToEnd());
107107

108108
var exceptionThrown = false;
109109
try
@@ -194,11 +194,11 @@ public static void EmptyWriter()
194194
[Fact]
195195
public static void ReadToEnd()
196196
{
197-
var reader = new SpanReader<int>(new[] { 10, 20, 30 });
198-
Equal(new[] { 10, 20, 30 }, reader.ReadToEnd().ToArray());
197+
var reader = new SpanReader<int>([10, 20, 30]);
198+
Equal([10, 20, 30], reader.ReadToEnd());
199199
reader.Reset();
200200
Equal(10, reader.Read());
201-
Equal(new[] { 20, 30 }, reader.ReadToEnd().ToArray());
201+
Equal([20, 30], reader.ReadToEnd());
202202
}
203203

204204
[Fact]

src/DotNext.Tests/Buffers/SparseBufferWriterTests.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static void WriteSequence(bool copyMemory, SparseBufferGrowth growth)
1717
using var writer = new SparseBufferWriter<byte>(128, growth);
1818
var sequence = ToReadOnlySequence(new ReadOnlyMemory<byte>(RandomBytes(5000)), 1000);
1919
writer.Write(in sequence, copyMemory);
20-
Equal(sequence.ToArray(), writer.Concat().ToArray());
20+
True(sequence.SequenceEqual(writer.Concat()));
2121
}
2222

2323
[Theory]
@@ -102,7 +102,7 @@ public static void CopyToBuffer()
102102
var buffer = new ArrayBufferWriter<int>();
103103
writer.CopyTo(Write, buffer);
104104

105-
Equal(writer.Concat().ToArray(), buffer.WrittenMemory);
105+
True(writer.Concat().SequenceEqual(buffer.WrittenSpan));
106106

107107
static void Write(ReadOnlySpan<int> span, ArrayBufferWriter<int> buffer)
108108
=> buffer.Write(span);
@@ -119,12 +119,13 @@ public static void CopyChunksToStream()
119119

120120
using var dest = new MemoryStream(capacity: 32);
121121
writer.CopyTo<StreamConsumer>(dest, default);
122-
Equal(new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, dest.ToArray());
122+
Equal<byte>([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
123+
dest.ToArray());
123124

124125
dest.Position = 0L;
125126
dest.SetLength(0L);
126127
Equal(2L, writer.CopyTo<StreamConsumer>(dest, ref middle, 2L));
127-
Equal(new byte[] { 16, 17 }, dest.ToArray());
128+
Equal<byte>([16, 17], dest.ToArray());
128129
}
129130

130131
[Fact]
@@ -136,7 +137,7 @@ public static void EnumerateSegments()
136137

137138
Collection(
138139
writer,
139-
static block => Equal(Enumerable.Range(0, 16).ToArray(), block.ToArray()),
140+
static block => Equal(Enumerable.Range(0, 16).ToArray(), block),
140141
static block => Equal(Enumerable.Range(16, 16), block.ToArray()));
141142
}
142143

src/DotNext.Tests/Buffers/Text/Base64Tests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public static void DecodeBase64BytesToMemoryBlock(int size)
1919
using var actual = decoder.DecodeFromUtf8(base64);
2020
False(decoder.NeedMoreData);
2121

22-
Equal(expected, actual.Span.ToArray());
22+
Equal(expected, actual.Span);
2323
}
2424

2525
[Fact]
@@ -92,7 +92,7 @@ public static void DecodeBase64CharsToMemoryBlock(int size)
9292
using var actual = decoder.DecodeFromUtf16(base64);
9393
False(decoder.NeedMoreData);
9494

95-
Equal(expected, actual.Span.ToArray());
95+
Equal(expected, actual.Span);
9696
}
9797

9898
[Theory]
@@ -116,7 +116,7 @@ public static void EncodeToBufferWriterUtf8(int size)
116116
var decoder = new Base64Decoder();
117117
using var actual = decoder.DecodeFromUtf8(writer.WrittenSpan);
118118

119-
Equal(expected, actual.Span.ToArray());
119+
Equal(expected, actual.Span);
120120
}
121121

122122
[Theory]
@@ -138,7 +138,7 @@ public static void EncodeToBufferWriterUtf16(int size)
138138
var decoder = new Base64Decoder();
139139
using var actual = decoder.DecodeFromUtf16(writer.WrittenSpan);
140140

141-
Equal(expected, actual.Span.ToArray());
141+
Equal(expected, actual.Span);
142142
}
143143

144144
[Theory]
@@ -157,7 +157,7 @@ public static void EncodeToUtf8(int size)
157157
var decoder = new Base64Decoder();
158158
using var actual = decoder.DecodeFromUtf8(base64.Span);
159159

160-
Equal(expected, actual.Span.ToArray());
160+
Equal(expected, actual.Span);
161161
}
162162

163163
[Theory]
@@ -176,7 +176,7 @@ public static void EncodeToUtf16(int size)
176176
var decoder = new Base64Decoder();
177177
using var actual = decoder.DecodeFromUtf16(base64.Span);
178178

179-
Equal(expected, actual.Span.ToArray());
179+
Equal(expected, actual.Span);
180180
}
181181

182182
[Fact]
@@ -190,7 +190,7 @@ public static void FlushToBytes()
190190
True(encoder.HasBufferedData);
191191

192192
Equal(2, encoder.BufferedData.Length);
193-
Equal(expected, encoder.BufferedData.Slice(0, 2).ToArray());
193+
Equal(expected, encoder.BufferedData.Slice(0, 2));
194194

195195
Span<byte> base64 = stackalloc byte[Base64Encoder.MaxCharsToFlush];
196196
Equal(4, encoder.Flush(base64));
@@ -229,7 +229,7 @@ public static void EncodeToBufferWriterSlimUtf16(int size)
229229
var decoder = new Base64Decoder();
230230
using var actual = decoder.DecodeFromUtf16(writer.ToString());
231231

232-
Equal(expected, actual.Span.ToArray());
232+
Equal(expected, actual.Span);
233233
}
234234

235235
[Theory]
@@ -251,7 +251,7 @@ public static void EncodeToBufferWriterSlimUtf8(int size)
251251
var decoder = new Base64Decoder();
252252
using var actual = decoder.DecodeFromUtf8(writer.WrittenSpan);
253253

254-
Equal(expected, actual.Span.ToArray());
254+
Equal(expected, actual.Span);
255255
}
256256

257257
[Theory]

src/DotNext.Tests/Buffers/UnmanagedMemoryPoolTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public static void ReadWriteTest()
1515
array[0] = 10;
1616
array[1] = 20;
1717
array[2] = 30;
18-
Equal([10, 20, 30], owner.Span.ToArray());
18+
Equal<ushort>([10, 20, 30], owner.Span);
1919
Equal(3, array.Length);
2020
Equal(3, owner.Length);
2121
Equal(6U, owner.Size);

src/DotNext.Tests/IO/AsyncBinaryReaderWriterTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ public static async Task WriteReadPrimitivesAsync(IAsyncBinaryReaderWriterSource
299299
Equal(valueT, await reader.ParseAsync(InvariantCulture, TimeSpan.Parse, decodingContext, LengthFormat.LittleEndian, token: TestToken));
300300
Equal(valueT, await reader.ParseAsync(InvariantCulture, static (c, p) => TimeSpan.ParseExact(c, "G", p), decodingContext, LengthFormat.LittleEndian, token: TestToken));
301301
using var decodedBlob = await reader.ReadAsync(LengthFormat.Compressed, token: TestToken);
302-
Equal(blob, decodedBlob.Memory.ToArray());
302+
Equal(blob, decodedBlob.Memory);
303303
Equal(memberId, await reader.ReadAsync<Net.Cluster.ClusterMemberId>(TestToken));
304304

305305
// UTF-8
@@ -524,7 +524,7 @@ public static async Task CopyFromStreamToBuffer(IAsyncBinaryReaderWriterSource s
524524
var reader = source.CreateReader();
525525
var destination = new ArrayBufferWriter<byte>(256);
526526
await reader.CopyToAsync(destination, token: TestToken);
527-
Equal(content, destination.WrittenSpan.ToArray());
527+
Equal(content, destination.WrittenSpan);
528528
}
529529
}
530530
}
@@ -553,7 +553,7 @@ public static async Task CopyFromStreamToBufferWithLength(IAsyncBinaryReaderWrit
553553
var reader = source.CreateReader();
554554
var destination = new ArrayBufferWriter<byte>(256);
555555
await reader.CopyToAsync(destination, sourceStream.Length, TestToken);
556-
Equal(content, destination.WrittenSpan.ToArray());
556+
Equal(content, destination.WrittenSpan);
557557
}
558558
}
559559

src/DotNext.Tests/IO/DataTransferObjectTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static async Task MemoryDTO2()
5050
var writer = new ArrayBufferWriter<byte>();
5151
await dto.WriteToAsync(writer, TestToken);
5252
Equal(3, writer.WrittenCount);
53-
Equal(content, writer.WrittenSpan.ToArray());
53+
Equal(content, writer.WrittenSpan);
5454
}
5555

5656
[Fact]

src/DotNext.Tests/IO/FileBufferingWriterTests.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public static void ReadWriteWithInitialCapacity(int threshold)
6161
writer.Write(bytes.AsSpan(byte.MaxValue));
6262
Equal(bytes.Length, writer.Length);
6363
using var manager = writer.GetWrittenContent();
64-
Equal(bytes, manager.Memory.ToArray());
64+
Equal(bytes, manager.Memory);
6565
if (writer.TryGetWrittenContent(out var content, out var fileName))
6666
{
6767
Equal(bytes, content);
@@ -106,12 +106,12 @@ public static async Task ReuseAfterBuild(int threshold)
106106
await writer.WriteAsync(bytes.AsMemory(byte.MaxValue), TestToken);
107107
Equal(bytes.Length, writer.Length);
108108
using (var manager = await writer.GetWrittenContentAsync(TestToken))
109-
Equal(bytes, manager.Memory.ToArray());
109+
Equal(bytes, manager.Memory);
110110
await writer.WriteAsync(new byte[] { 3, 4, 5 }.AsMemory(), TestToken);
111111
writer.WriteByte(6);
112112
using (var manager = await writer.GetWrittenContentAsync(500.., TestToken))
113113
{
114-
Equal(new byte[] { 3, 4, 5, 6 }, manager.Memory);
114+
Equal<byte>([3, 4, 5, 6], manager.Memory.Span);
115115
}
116116
}
117117

@@ -232,7 +232,7 @@ public static void DrainToBuffer(int threshold)
232232
Equal(bytes.Length, writer.Length);
233233
var ms = new ArrayBufferWriter<byte>();
234234
writer.CopyTo(ms, token: TestToken);
235-
Equal(bytes, ms.WrittenSpan.ToArray());
235+
Equal(bytes, ms.WrittenSpan);
236236
}
237237

238238
[Theory]
@@ -327,7 +327,7 @@ public static async Task WriteDuringReadAsync()
327327
await using var writer = new FileBufferingWriter();
328328
writer.Write([1, 2, 3]);
329329
using var manager = writer.GetWrittenContent();
330-
Equal(new byte[] { 1, 2, 3 }, manager.Memory.ToArray());
330+
Equal<byte>([1, 2, 3], manager.Memory.Span);
331331
Throws<InvalidOperationException>(writer.As<IGrowableBuffer<byte>>().Reset);
332332
Throws<InvalidOperationException>(() => writer.WriteByte(2));
333333
Throws<InvalidOperationException>(writer.GetWrittenContent);
@@ -456,10 +456,10 @@ public static void BufferedReadWrite(int threshold)
456456
buffer.Write(bytes.AsSpan(byte.MaxValue));
457457
Equal(bytes.Length, writer.Length);
458458
using var manager = writer.GetWrittenContent();
459-
Equal(bytes, manager.Memory.ToArray());
459+
Equal(bytes, manager.Memory);
460460
if (writer.TryGetWrittenContent(out var content))
461461
{
462-
Equal(bytes, content.ToArray());
462+
Equal(bytes, content);
463463
}
464464
}
465465

@@ -503,7 +503,7 @@ public static void ReadWriteApm(int threshold, bool asyncIO)
503503

504504
Equal(bytes.Length, writer.Length);
505505
using var manager = writer.GetWrittenContent();
506-
Equal(bytes, manager.Memory.ToArray());
506+
Equal(bytes, manager.Memory);
507507
}
508508

509509
[Theory]
@@ -534,7 +534,7 @@ public static async Task ReadWriteApm2(int threshold, bool asyncIO)
534534

535535
Equal(bytes.Length, writer.Length);
536536
using var manager = await writer.GetWrittenContentAsync(TestToken);
537-
Equal(bytes, manager.Memory.ToArray());
537+
Equal(bytes, manager.Memory);
538538
}
539539

540540
[Theory]
@@ -552,7 +552,7 @@ public static void CompatWithReadOnlySequence(int threshold)
552552
writer.Write(bytes.AsSpan(450));
553553
Equal(bytes.Length, writer.Length);
554554
using var source = writer.GetWrittenContent(10);
555-
Equal(bytes, source.Sequence.ToArray());
555+
True(source.Sequence.SequenceEqual(bytes));
556556
}
557557

558558
[Theory]
@@ -570,7 +570,7 @@ public static async Task CompatWithReadOnlySequenceAsync(int threshold)
570570
await writer.WriteAsync(bytes.AsMemory(450), TestToken);
571571
Equal(bytes.Length, writer.Length);
572572
using var source = writer.GetWrittenContent(10);
573-
Equal(bytes, source.Sequence.ToArray());
573+
True(source.Sequence.SequenceEqual(bytes));
574574
}
575575

576576
[Fact]

0 commit comments

Comments
 (0)