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