From 60243d1c9935eb266ecf212e03dec73e51b6eda7 Mon Sep 17 00:00:00 2001 From: BDisp Date: Sun, 18 Sep 2022 02:25:54 +0100 Subject: [PATCH 1/2] Fixes #79. Needed to add unit test for equal and not equal operators. --- NStackTests/ustringTest.cs | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/NStackTests/ustringTest.cs b/NStackTests/ustringTest.cs index 23d0cc4..e5680de 100644 --- a/NStackTests/ustringTest.cs +++ b/NStackTests/ustringTest.cs @@ -821,5 +821,71 @@ public void IsNullOrEmpty_Accept_Null_Ustring_Arg () Assert.False (string.IsNullOrEmpty (ustr.ToString ())); Assert.False (ustring.IsNullOrEmpty (ustr)); } + + [Test] + public void Operator_Equal_Ustring_Versus_String () + { + ustring? ustr = null; + string? str = null; + Assert.True (ustr == str); + Assert.True (str == ustr); + Assert.True (ustr == null); + Assert.True (str == null); + Assert.False (ustr == ""); + Assert.False (str == ""); + + ustr = ""; + str = ""; + Assert.True (ustr == str); + Assert.True (str == ustr); + Assert.False (ustr == null); + Assert.False (str == null); + Assert.True (ustr == ""); + Assert.True (str == ""); + + ustr = " "; + str = " "; + Assert.True (ustr == str); + Assert.True (str == ustr); + Assert.False (ustr == null); + Assert.False (str == null); + Assert.False (ustr == ""); + Assert.False (str == ""); + Assert.True (ustr == " "); + Assert.True (str == " "); + } + + [Test] + public void Operator_Not_Equal_Ustring_Versus_String () + { + ustring? ustr = null; + string? str = null; + Assert.False (ustr != str); + Assert.False (str != ustr); + Assert.False (ustr != null); + Assert.False (str != null); + Assert.True (ustr != ""); + Assert.True (str != ""); + + ustr = ""; + str = ""; + Assert.False (ustr != str); + Assert.False (str != ustr); + Assert.True (ustr != null); + Assert.True (str != null); + Assert.False (ustr != ""); + Assert.False (str != ""); + + ustr = " "; + str = " "; + Assert.False (ustr != str); + Assert.False (str != ustr); + Assert.True (ustr != null); + Assert.True (str != null); + Assert.True (ustr != ""); + Assert.True (str != ""); + Assert.False (ustr != " "); + Assert.False (str != " "); + } } } From d1bf26cc300b8e850196595e1e5de7e34af4648c Mon Sep 17 00:00:00 2001 From: BDisp Date: Sun, 18 Sep 2022 02:29:18 +0100 Subject: [PATCH 2/2] Simplifying the code. --- NStack/strings/ustring.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/NStack/strings/ustring.cs b/NStack/strings/ustring.cs index edbf9d4..59936cd 100644 --- a/NStack/strings/ustring.cs +++ b/NStack/strings/ustring.cs @@ -2230,9 +2230,7 @@ public ustring Replace (ustring oldValue, ustring newValue, int maxReplacements /// public static bool IsNullOrEmpty (ustring value) { - if (value == null) - return true; - if (value.Length == 0) + if (value?.IsEmpty != false) return true; return false; }