fix: Fixes string interpolation in value string builder (#1339)
This commit is contained in:
parent
b46544d752
commit
f24c6a08dd
9 changed files with 87 additions and 242 deletions
|
|
@ -1,34 +1,48 @@
|
|||
using Server.Buffers;
|
||||
using Xunit;
|
||||
|
||||
namespace Server.Tests.Buffers
|
||||
namespace Server.Tests.Buffers;
|
||||
|
||||
public class ValueStringBuilderTests
|
||||
{
|
||||
public class ValueStringBuilderTests
|
||||
[Theory]
|
||||
[InlineData("Admin Kamron", "Kamron", 0, 6)]
|
||||
[InlineData("Admin Kamron", "Admin ron", 6, 3)]
|
||||
[InlineData("Admin Kamron", "Admin", 5, 7)]
|
||||
public void TestRemove(string original, string removed, int startIndex, int length)
|
||||
{
|
||||
[Theory]
|
||||
[InlineData("Admin Kamron", "Kamron", 0, 6)]
|
||||
[InlineData("Admin Kamron", "Admin ron", 6, 3)]
|
||||
[InlineData("Admin Kamron", "Admin", 5, 7)]
|
||||
public void TestRemove(string original, string removed, int startIndex, int length)
|
||||
{
|
||||
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
||||
sb.Append(original);
|
||||
sb.Remove(startIndex, length);
|
||||
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
||||
sb.Append(original);
|
||||
sb.Remove(startIndex, length);
|
||||
|
||||
Assert.Equal(removed, sb.ToString());
|
||||
}
|
||||
Assert.Equal(removed, sb.ToString());
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(8)]
|
||||
[InlineData(9876)]
|
||||
[InlineData(-5)]
|
||||
[InlineData(-130984209)]
|
||||
public void TestAppendInt32(int value)
|
||||
{
|
||||
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
||||
sb.Append(value);
|
||||
[Theory]
|
||||
[InlineData(8)]
|
||||
[InlineData(9876)]
|
||||
[InlineData(-5)]
|
||||
[InlineData(-130984209)]
|
||||
public void TestAppendInt32(int value)
|
||||
{
|
||||
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
||||
sb.Append(value);
|
||||
|
||||
Assert.Equal(value.ToString(), sb.ToString());
|
||||
}
|
||||
Assert.Equal(value.ToString(), sb.ToString());
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("Kamron")]
|
||||
[InlineData("")]
|
||||
[InlineData(5)]
|
||||
[InlineData(-30.6)]
|
||||
public void TestAppendInterpolation(object value)
|
||||
{
|
||||
var sb = ValueStringBuilder.Create();
|
||||
sb.Append( $"Hi, this is {value}.");
|
||||
sb.Append(" I am a string.");
|
||||
|
||||
Assert.Equal($"Hi, this is {value}. I am a string.", sb.ToString());
|
||||
sb.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue