diff --git a/src/ThirdDrawer.UnitTests/StringExtensionTests/StringExtensions.cs b/src/ThirdDrawer.UnitTests/StringExtensionTests/StringExtensions.cs new file mode 100644 index 0000000..a2a1f83 --- /dev/null +++ b/src/ThirdDrawer.UnitTests/StringExtensionTests/StringExtensions.cs @@ -0,0 +1,64 @@ +using System; +using System.Text; +using NUnit.Framework; +using Shouldly; +using ThirdDrawer.Extensions.StringExtensionMethods; + +namespace ThirdDrawer.UnitTests.StringExtensionTests +{ + [TestFixture] + public class StringExtensions + { + [Test] + public void TheResultShouldBeCorrect() + { + var testcase1Result = "foo".EqualCaseInsensitive("foO"); + testcase1Result.ShouldBe(true); + + var testcase2Result = "Foo".EqualCaseInsensitive("foO"); + testcase2Result.ShouldBe(true); + + var testcase3Result = "Fo0".EqualCaseInsensitive("foO"); + testcase3Result.ShouldBe(false); + + } + + [Test] + public void EqualCaseInsensitiveShouldReturnTrueWhenPassingEmptryString() + { + var testcase1Result = string.Empty.EqualCaseInsensitive(""); + testcase1Result.ShouldBe(true); + } + + [Test] + public void HasValShouldReturnFalseWhenPassingEmptryString() + { + var testcase1Result = string.Empty.HasVal(); + testcase1Result.ShouldBe(false); + } + + [Test] + public void HasValShouldReturnFalseWhenPassingNull() + { + string param = null; + var testcase1Result = param.HasVal(); + testcase1Result.ShouldBe(false); + } + + [Test] + public void NoValShouldReturnTrueWhenPassingEmptryString() + { + var testcase1Result = string.Empty.NoVal(); + testcase1Result.ShouldBe(true); + } + + [Test] + public void NoValShouldReturnTrueWhenPassingNull() + { + string param = null; + var testcase1Result = param.NoVal(); + testcase1Result.ShouldBe(true); + } + + } +} diff --git a/src/ThirdDrawer.UnitTests/ThirdDrawer.UnitTests.csproj b/src/ThirdDrawer.UnitTests/ThirdDrawer.UnitTests.csproj index e1eb357..fdec882 100644 --- a/src/ThirdDrawer.UnitTests/ThirdDrawer.UnitTests.csproj +++ b/src/ThirdDrawer.UnitTests/ThirdDrawer.UnitTests.csproj @@ -48,6 +48,7 @@ + diff --git a/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs b/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs index 33a6c36..1f28cd3 100644 --- a/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs +++ b/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs @@ -14,7 +14,7 @@ public static string FormatWith(this string s, params object[] args) { return string.Format(CultureInfo.CurrentUICulture, s, args); } - + public static string GenerateRandomString(int length) { var characters = new List(); @@ -81,5 +81,20 @@ public static string RemoveCharacters(this string s, string toRemove) return working; } + + public static bool NoVal(this string src) + { + return string.IsNullOrWhiteSpace(src); + } + + public static bool HasVal(this string src) + { + return !src.NoVal(); + } + + public static bool EqualCaseInsensitive(this string src, string compareWith) + { + return (string.Equals(src, compareWith, StringComparison.OrdinalIgnoreCase)); + } } } \ No newline at end of file