using Microsoft.VisualStudio.TestTools.UnitTesting; using TweetDuck.Core.Utils; namespace UnitTests.Core{ [TestClass] public class TestStringUtils{ [TestMethod] public void TestExtractBefore(){ Assert.AreEqual("missing", StringUtils.ExtractBefore("missing", '_')); Assert.AreEqual("", StringUtils.ExtractBefore("_empty", '_')); Assert.AreEqual("some", StringUtils.ExtractBefore("some_text", '_')); Assert.AreEqual("first", StringUtils.ExtractBefore("first_separator_only", '_')); Assert.AreEqual("start_index", StringUtils.ExtractBefore("start_index_test", '_', 8)); } [TestMethod] public void TestParseInts(){ CollectionAssert.AreEqual(new int[0], StringUtils.ParseInts("", ',')); CollectionAssert.AreEqual(new int[]{ 1 }, StringUtils.ParseInts("1", ',')); CollectionAssert.AreEqual(new int[]{ 1, 2, 3 }, StringUtils.ParseInts("1,2,3", ',')); CollectionAssert.AreEqual(new int[]{ 1, 2, 3 }, StringUtils.ParseInts("1,2,3,", ',')); CollectionAssert.AreEqual(new int[]{ 1, 2, 3 }, StringUtils.ParseInts(",1,2,,3,", ',')); CollectionAssert.AreEqual(new int[]{ -50, 50 }, StringUtils.ParseInts("-50,50", ',')); } [TestMethod] public void TestConvertPascalCaseToScreamingSnakeCase(){ Assert.AreEqual("HELP", StringUtils.ConvertPascalCaseToScreamingSnakeCase("Help")); Assert.AreEqual("HELP_ME", StringUtils.ConvertPascalCaseToScreamingSnakeCase("HelpMe")); Assert.AreEqual("HELP_ME_PLEASE", StringUtils.ConvertPascalCaseToScreamingSnakeCase("HelpMePlease")); Assert.AreEqual("HTML_CODE", StringUtils.ConvertPascalCaseToScreamingSnakeCase("HTMLCode")); Assert.AreEqual("CHECK_OUT_MY_HTML_CODE", StringUtils.ConvertPascalCaseToScreamingSnakeCase("CheckOutMyHTMLCode")); } } }