2025-09-06 15:32:36 -04:00
|
|
|
using Xunit;
|
|
|
|
|
|
2026-03-21 21:45:14 -04:00
|
|
|
namespace SabreTools.Text.Extensions.Test
|
2025-09-06 15:32:36 -04:00
|
|
|
{
|
|
|
|
|
public class StringExtensionsTests
|
|
|
|
|
{
|
|
|
|
|
#region OptionalContains
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData(null, "ANY", false)]
|
|
|
|
|
[InlineData("", "ANY", false)]
|
|
|
|
|
[InlineData("ANY", "ANY", true)]
|
|
|
|
|
[InlineData("ANYTHING", "ANY", true)]
|
|
|
|
|
[InlineData("THING", "ANY", false)]
|
|
|
|
|
[InlineData("THINGANY", "ANY", true)]
|
|
|
|
|
public void OptionalContainsTest(string? haystack, string needle, bool expected)
|
|
|
|
|
{
|
|
|
|
|
bool actual = haystack.OptionalContains(needle);
|
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2025-09-20 18:04:37 -04:00
|
|
|
#region OptionalEndsWith
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData(null, "ANY", false)]
|
|
|
|
|
[InlineData("", "ANY", false)]
|
|
|
|
|
[InlineData("ANY", "ANY", true)]
|
|
|
|
|
[InlineData("ANYTHING", "ANY", false)]
|
|
|
|
|
[InlineData("THING", "ANY", false)]
|
|
|
|
|
[InlineData("THINGANY", "ANY", true)]
|
|
|
|
|
public void OptionalEndsWithTest(string? haystack, string needle, bool expected)
|
|
|
|
|
{
|
|
|
|
|
bool actual = haystack.OptionalEndsWith(needle);
|
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2025-09-06 15:32:36 -04:00
|
|
|
#region OptionalEquals
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData(null, "ANY", false)]
|
|
|
|
|
[InlineData("", "ANY", false)]
|
|
|
|
|
[InlineData("ANY", "ANY", true)]
|
|
|
|
|
[InlineData("ANYTHING", "ANY", false)]
|
|
|
|
|
[InlineData("THING", "ANY", false)]
|
|
|
|
|
[InlineData("THINGANY", "ANY", false)]
|
|
|
|
|
public void OptionalEqualsTest(string? haystack, string needle, bool expected)
|
|
|
|
|
{
|
|
|
|
|
bool actual = haystack.OptionalEquals(needle);
|
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region OptionalStartsWith
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData(null, "ANY", false)]
|
|
|
|
|
[InlineData("", "ANY", false)]
|
|
|
|
|
[InlineData("ANY", "ANY", true)]
|
|
|
|
|
[InlineData("ANYTHING", "ANY", true)]
|
|
|
|
|
[InlineData("THING", "ANY", false)]
|
|
|
|
|
[InlineData("THINGANY", "ANY", false)]
|
|
|
|
|
public void OptionalStartsWithTest(string? haystack, string needle, bool expected)
|
|
|
|
|
{
|
|
|
|
|
bool actual = haystack.OptionalStartsWith(needle);
|
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
2025-11-13 08:56:30 -05:00
|
|
|
}
|