mirror of
https://github.com/modernuo/ModernUO
synced 2026-08-11 22:23:06 -04:00
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using Server.Text;
|
|
using Xunit;
|
|
|
|
namespace Server.Tests.Buffers;
|
|
|
|
[Collection("Sequential Tests")]
|
|
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)
|
|
{
|
|
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
|
sb.Append(original);
|
|
sb.Remove(startIndex, length);
|
|
|
|
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);
|
|
|
|
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();
|
|
}
|
|
}
|