From 0ee27ba19a3d44265da60daa4b74f5c3cbff9847 Mon Sep 17 00:00:00 2001 From: Javid Najafi Date: Fri, 23 Jun 2017 14:52:36 +1000 Subject: [PATCH 1/4] Added below methods to StringExtensions: HasVal NoVal --- .../StringExtensionMethods/StringExtensions.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs b/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs index 33a6c36..40bef4b 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,15 @@ 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(); + } } } \ No newline at end of file From d6c6fa2f3d7388dc8179c7cf97ad3f3ab8f324c7 Mon Sep 17 00:00:00 2001 From: Javid Najafi Date: Fri, 23 Jun 2017 14:54:47 +1000 Subject: [PATCH 2/4] Added EqualCaseInsensitive method to StringExtension --- .../Extensions/StringExtensionMethods/StringExtensions.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs b/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs index 40bef4b..1f28cd3 100644 --- a/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs +++ b/src/ThirdDrawer/Extensions/StringExtensionMethods/StringExtensions.cs @@ -91,5 +91,10 @@ 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 From 481e6c81863e08e55356359f5ceb46fef6ada93f Mon Sep 17 00:00:00 2001 From: "DOMINOS\\Javid.Najafi" Date: Fri, 23 Jun 2017 15:25:05 +1000 Subject: [PATCH 3/4] Added StringExtensions Unit Tests (NOT covering all methods and all scenarios) --- .../StringExtensionTests/StringExtensions.cs | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/ThirdDrawer.UnitTests/StringExtensionTests/StringExtensions.cs 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); + } + + } +} From 0e66022634cb6791ae4fd604bdaa68ceb2c30619 Mon Sep 17 00:00:00 2001 From: "DOMINOS\\Javid.Najafi" Date: Fri, 23 Jun 2017 15:25:43 +1000 Subject: [PATCH 4/4] Add StringExtensions to UnitTests.csproj file --- src/ThirdDrawer.UnitTests/ThirdDrawer.UnitTests.csproj | 1 + 1 file changed, 1 insertion(+) 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 @@ +