Skip to content

Commit 25a3175

Browse files
committed
Lucene.Net.Tests.Support.IO.TestStreamExtensions::Read(Span<byte>, long): Added test to confirm reading past the end returns 0
1 parent 7200a8b commit 25a3175

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/Lucene.Net.Tests/Support/IO/TestStreamExtensions.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22
// https://github.com/apache/harmony/blob/02970cb7227a335edd2c8457ebdde0195a735733/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/DataInputStreamTest.java
33
// https://github.com/apache/harmony/blob/02970cb7227a335edd2c8457ebdde0195a735733/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/DataOutputStreamTest.java
44

5-
using J2N.IO;
6-
using J2N.Text;
75
using Lucene.Net.Attributes;
86
using Lucene.Net.Util;
97
using NUnit.Framework;
108
using System;
11-
using System.Diagnostics.CodeAnalysis;
129
using System.IO;
1310
using System.Text;
1411
using System.Threading.Tasks;
12+
using Assert = Lucene.Net.TestFramework.Assert;
1513

1614
namespace Lucene.Net.Support.IO
1715
{
@@ -53,8 +51,16 @@ public void TestRead_Span_Int64()
5351
fileStream.Flush(flushToDisk: true);
5452

5553
Span<byte> buffer = stackalloc byte[Encoding.UTF8.GetByteCount(fileString)];
54+
// Test1: Original
5655
Assert.Greater(fileStream.Read(buffer, 0L), 0);
5756
Assert.IsTrue(Encoding.UTF8.GetString(buffer).Equals(fileString));
57+
// Test2: Repeat
58+
buffer.Clear();
59+
Assert.Greater(fileStream.Read(buffer, 0L), 0);
60+
Assert.IsTrue(Encoding.UTF8.GetString(buffer).Equals(fileString));
61+
// Test3: Ensure reading past end returns 0
62+
buffer.Clear();
63+
Assert.AreEqual(expected: 0, fileStream.Read(buffer, buffer.Length + 1));
5864
}
5965

6066
[Test]

0 commit comments

Comments
 (0)