Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Commit 773b3f9

Browse files
committed
Increase test range
1 parent 1a22ac2 commit 773b3f9

File tree

1 file changed

+25
-40
lines changed

1 file changed

+25
-40
lines changed

test/Microsoft.AspNetCore.Server.KestrelTests/MemoryPoolIteratorTests.cs

Lines changed: 25 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,68 +1214,53 @@ public void TestGetAsciiStringEscaped(string input, string expected, int maxChar
12141214
}
12151215
}
12161216

1217-
[Fact]
1218-
public unsafe void TestCopyFromAscii()
1217+
[Theory]
1218+
[InlineData(0, MemoryPool.MaxPooledBlockLength * 3 + 64)]
1219+
public unsafe void TestCopyFromAscii(int start, int end)
1220+
{
1221+
for (var i = start; i <= end; i++)
1222+
{
1223+
TestCopyFromAscii(i);
1224+
}
1225+
}
1226+
1227+
private unsafe void TestCopyFromAscii(int size)
12191228
{
12201229
// Arrange
1221-
var blockSingle = _pool.Lease();
1222-
var blockMultiple = _pool.Lease();
1230+
var block = _pool.Lease();
12231231
try
12241232
{
1225-
var dataSingle = new string('\0', blockSingle.Data.Count - 1);
1226-
var dataMultiple = new string('\0', blockMultiple.Data.Count * 4 - 1);
1233+
var data = new string('\0', size);
12271234

1228-
fixed (char* pData = dataSingle)
1229-
{
1230-
for (var i = 0; i < dataSingle.Length; i++)
1231-
{
1232-
// ascii chars 32 - 126
1233-
pData[i] = (char)((i % (126 - 32)) + 32);
1234-
}
1235-
}
1236-
fixed (char* pData = dataMultiple)
1235+
fixed (char* pData = data)
12371236
{
1238-
for (var i = 0; i < dataMultiple.Length; i++)
1237+
for (var i = 0; i < data.Length; i++)
12391238
{
12401239
// ascii chars 32 - 126
12411240
pData[i] = (char)((i % (126 - 32)) + 32);
12421241
}
12431242
}
12441243

12451244
// Act
1246-
var singleIter = blockSingle.GetIterator();
1247-
var multiIter = blockMultiple.GetIterator();
1245+
var iter = block.GetIterator();
12481246

1249-
var singleIterEnd = singleIter;
1250-
var multiIterEnd = multiIter;
1247+
var iterEnd = iter;
12511248

1252-
singleIterEnd.CopyFromAscii(dataSingle);
1253-
multiIterEnd.CopyFromAscii(dataMultiple);
1249+
iterEnd.CopyFromAscii(data);
12541250

12551251
// Assert
1256-
Assert.True(singleIterEnd.IsEnd);
1257-
foreach (var ch in dataSingle)
1258-
{
1259-
Assert.Equal(ch, singleIter.Take());
1260-
}
1261-
Assert.True(singleIter.IsEnd);
1262-
Assert.Equal(singleIter.Block, singleIterEnd.Block);
1263-
Assert.Equal(singleIter.Index, singleIterEnd.Index);
1264-
1265-
1266-
Assert.True(multiIterEnd.IsEnd);
1267-
foreach (var ch in dataMultiple)
1252+
Assert.True(iterEnd.IsEnd);
1253+
foreach (var ch in data)
12681254
{
1269-
Assert.Equal(ch, multiIter.Take());
1255+
Assert.Equal(ch, iter.Take());
12701256
}
1271-
Assert.True(multiIter.IsEnd);
1272-
Assert.Equal(multiIter.Block, multiIterEnd.Block);
1273-
Assert.Equal(multiIter.Index, multiIterEnd.Index);
1257+
Assert.True(iter.IsEnd);
1258+
Assert.Equal(iter.Block, iterEnd.Block);
1259+
Assert.Equal(iter.Index, iterEnd.Index);
12741260
}
12751261
finally
12761262
{
1277-
ReturnBlocks(blockSingle);
1278-
ReturnBlocks(blockMultiple);
1263+
ReturnBlocks(block);
12791264
}
12801265
}
12811266

0 commit comments

Comments
 (0)