test: Adding test case for RemoveCharacters string extension method

This commit is contained in:
Chris Cameron
2018-11-09 10:09:40 -05:00
parent 2e2eebd95f
commit c048c4fc65

View File

@@ -1,73 +1,75 @@
using System.Linq; using System.Collections.Generic;
using System.Linq;
using ICD.Common.Utils.Extensions; using ICD.Common.Utils.Extensions;
using NUnit.Framework; using NUnit.Framework;
namespace ICD.Common.Utils.Tests.Extensions namespace ICD.Common.Utils.Tests.Extensions
{ {
[TestFixture] [TestFixture]
public sealed class StringExtensionsTest public sealed class StringExtensionsTest
{ {
[Test] [Test]
public void IndexOfTest() public void IndexOfTest()
{ {
string first; string first;
Assert.AreEqual(5, "test1test3test2".IndexOf(new[] { "test2", "test3" }, out first)); Assert.AreEqual(5, "test1test3test2".IndexOf(new[] {"test2", "test3"}, out first));
Assert.AreEqual("test3", first); Assert.AreEqual("test3", first);
} }
[TestCase(true, "12345", '1')] [TestCase(true, "12345", '1')]
[TestCase(false, "12345", '2')] [TestCase(false, "12345", '2')]
public void StartsWithTest(bool expected, string value, char character) public void StartsWithTest(bool expected, string value, char character)
{ {
Assert.AreEqual(expected, value.StartsWith(character)); Assert.AreEqual(expected, value.StartsWith(character));
} }
[TestCase(true, "12345", '5')] [TestCase(true, "12345", '5')]
[TestCase(false, "12345", '2')] [TestCase(false, "12345", '2')]
public void EndsWithTest(bool expected, string value, char character) public void EndsWithTest(bool expected, string value, char character)
{ {
Assert.AreEqual(expected, value.EndsWith(character)); Assert.AreEqual(expected, value.EndsWith(character));
} }
[Test] [Test]
public void SplitCharCountTest() public void SplitCharCountTest()
{ {
string[] split = "123-456-789-0".Split('-', 2).ToArray(); string[] split = "123-456-789-0".Split('-', 2).ToArray();
Assert.AreEqual(2, split.Length); Assert.AreEqual(2, split.Length);
Assert.AreEqual("123", split[0]); Assert.AreEqual("123", split[0]);
Assert.AreEqual("456-789-0", split[1]); Assert.AreEqual("456-789-0", split[1]);
} }
[Test] [Test]
public void SplitChunksizeTest() public void SplitChunksizeTest()
{ {
string[] split = "1234567890".Split(3).ToArray(); string[] split = "1234567890".Split(3).ToArray();
Assert.AreEqual(4, split.Length); Assert.AreEqual(4, split.Length);
Assert.AreEqual("123", split[0]); Assert.AreEqual("123", split[0]);
Assert.AreEqual("456", split[1]); Assert.AreEqual("456", split[1]);
Assert.AreEqual("789", split[2]); Assert.AreEqual("789", split[2]);
Assert.AreEqual("0", split[3]); Assert.AreEqual("0", split[3]);
} }
[TestCase("12345", " 12 3 4 \t 5\n")] [TestCase("12345", " 12 3 4 \t 5\n")]
public void RemoveWhitespaceTest(string expected, string value) public void RemoveWhitespaceTest(string expected, string value)
{ {
Assert.AreEqual(expected, value.RemoveWhitespace()); Assert.AreEqual(expected, value.RemoveWhitespace());
} }
[Test] [TestCase("1234567890", new[] {'2', '6'}, "13457890")]
public void RemoveCharactersTest() [TestCase("912529434324", new[] {'-', '(', ')', '.', '+'}, "912529434324")]
{ public void RemoveCharactersTest(string value, IEnumerable<char> characters, string expected)
Assert.AreEqual("13457890", "1234567890".Remove(new[] { '2', '6' })); {
} Assert.AreEqual(expected, value.Remove(characters));
}
[TestCase(true, "27652")] [TestCase(true, "27652")]
[TestCase(false, "a27652")] [TestCase(false, "a27652")]
public void IsNumericTest(bool expected, string value) public void IsNumericTest(bool expected, string value)
{ {
Assert.AreEqual(expected, value.IsNumeric()); Assert.AreEqual(expected, value.IsNumeric());
} }
} }
} }