using Quadarax.Foundation.Core.Value.Extensions; namespace qdr.fnd.core.test.Value { internal class StringExtensionTest { [Test(TestOf = typeof(StringExt))] public void SplitQuotedSingleBracketOk() { var sep = ","; var quote = "|"; var input = "a,b,|c,d|,,e"; var result = input.SplitQuoted(sep, quote); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(4)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); Assert.That(result[2], Is.EqualTo("c,d")); Assert.That(result[3], Is.EqualTo("e")); } [Test(TestOf = typeof(StringExt))] public void SplitQuotedDiffBrackedOk() { var sep = ","; var quote = "|"; var input = "a,b,|c,d-,,e"; var result = input.SplitQuoted(sep, quote, "-"); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(4)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); Assert.That(result[2], Is.EqualTo("c,d")); Assert.That(result[3], Is.EqualTo("e")); } [Test(TestOf = typeof(StringExt))] public void SplitQuotedKeepBrackedOk() { var sep = ","; var quote = "|"; var input = "a,b,|c,d-,,e"; var result = input.SplitQuoted(sep, quote, "-", keepBracket: true); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(4)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); Assert.That(result[2], Is.EqualTo(quote + "c,d" + "-")); Assert.That(result[3], Is.EqualTo("e")); } [Test(TestOf = typeof(StringExt))] public void SplitQuotedBackCompatibilityOk() { var sep = ","; var quote = "|"; var input = "a,b,"; var result = input.SplitQuoted(sep, quote); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(2)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); } [Test(TestOf = typeof(StringExt))] public void SplitQuotedBackCompatibilityTrimmedOk() { var sep = ","; var quote = "|"; var input = "a, b ,"; var result = input.SplitQuoted(sep, quote); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(2)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); } [Test(TestOf = typeof(StringExt))] public void SplitQuotedBackCompatibilityRemoveEmptyOk() { var sep = ","; var quote = "|"; var input = "a,b,"; var result = input.SplitQuoted(sep, quote, removeEmptyItems: false); Assert.That(result, Is.Not.Null); Assert.That(result.Length, Is.EqualTo(3)); Assert.That(result[0], Is.EqualTo("a")); Assert.That(result[1], Is.EqualTo("b")); Assert.That(result[2], Is.EqualTo("")); } } }