From 6902ce0fe7b1b4c201b6e22b9382b7a12162d821 Mon Sep 17 00:00:00 2001 From: Jeremy Chrimes Date: Wed, 9 Mar 2022 21:12:51 +1100 Subject: [PATCH 1/2] Create a new string extension called 'AppendIfNotEmpty' --- .../StringExtensionTests.cs | 6 ++++++ src/Bolt.Common.Extensions/StringExtensions.cs | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/Bolt.Common.Extensions.UnitTests/StringExtensionTests.cs b/src/Bolt.Common.Extensions.UnitTests/StringExtensionTests.cs index 16babec..602779f 100644 --- a/src/Bolt.Common.Extensions.UnitTests/StringExtensionTests.cs +++ b/src/Bolt.Common.Extensions.UnitTests/StringExtensionTests.cs @@ -100,5 +100,11 @@ public void IsEndWithTest() var sut = "Hello world"; sut.IsEndWith("WORLD").ShouldBeTrue(); } + + [Theory] + [InlineData("", " cups", "")] + [InlineData("12", " cups", "12 cups")] + public void AppendIfNotEmpty(string source, string ending, string result) => + source.AppendIfNotEmpty(ending).ShouldBe(result); } } \ No newline at end of file diff --git a/src/Bolt.Common.Extensions/StringExtensions.cs b/src/Bolt.Common.Extensions/StringExtensions.cs index 4a05785..91e84b2 100644 --- a/src/Bolt.Common.Extensions/StringExtensions.cs +++ b/src/Bolt.Common.Extensions/StringExtensions.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Linq; using System.Reflection; +using System.Runtime.CompilerServices; namespace Bolt.Common.Extensions { @@ -214,5 +215,15 @@ public static string FormatWith(this string source, params object[] args) { return string.Format(source, args); } + + /// + /// Appends an ending to a string if the source string is not empty + /// + /// + /// + /// + [DebuggerStepThrough] + public static string AppendIfNotEmpty(this string source, string ending) => + source.IsEmpty() ? source : string.Concat(source, ending); } } From f594bd234ea2ade6899cd3c05ee5fd0699d14896 Mon Sep 17 00:00:00 2001 From: Jeremy Chrimes Date: Wed, 9 Mar 2022 21:17:48 +1100 Subject: [PATCH 2/2] Remove un-necessary import --- src/Bolt.Common.Extensions/StringExtensions.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Bolt.Common.Extensions/StringExtensions.cs b/src/Bolt.Common.Extensions/StringExtensions.cs index 91e84b2..2cf2307 100644 --- a/src/Bolt.Common.Extensions/StringExtensions.cs +++ b/src/Bolt.Common.Extensions/StringExtensions.cs @@ -4,7 +4,6 @@ using System.Diagnostics; using System.Linq; using System.Reflection; -using System.Runtime.CompilerServices; namespace Bolt.Common.Extensions {