diff --git a/src/AStar.Dev.Utilities/AStar.Dev.Utilities.csproj b/src/AStar.Dev.Utilities/AStar.Dev.Utilities.csproj
index dfb4b13..dced6f5 100644
--- a/src/AStar.Dev.Utilities/AStar.Dev.Utilities.csproj
+++ b/src/AStar.Dev.Utilities/AStar.Dev.Utilities.csproj
@@ -29,12 +29,12 @@
git
https://github.com/jbarden/astar-dev-utilities
A collection of useful utilities.
- 1.5.0
+ 1.5.1
AStar Development, Jason Barden
$(AssemblyName).xml
AStar.png
True
- version 1.5.0 contains the initial code port from the jbarden NuGet / GitHub organisations.
+ version 1.5.1 adds the missing tests, no functionality is affected.
diff --git a/src/AStar.Dev.Utilities/AStar.Dev.Utilities.xml b/src/AStar.Dev.Utilities/AStar.Dev.Utilities.xml
index 0814568..7f9b520 100644
--- a/src/AStar.Dev.Utilities/AStar.Dev.Utilities.xml
+++ b/src/AStar.Dev.Utilities/AStar.Dev.Utilities.xml
@@ -16,12 +16,10 @@
-
-
diff --git a/src/AStar.Dev.Utilities/Constants.cs b/src/AStar.Dev.Utilities/Constants.cs
index c2165c2..5467e67 100644
--- a/src/AStar.Dev.Utilities/Constants.cs
+++ b/src/AStar.Dev.Utilities/Constants.cs
@@ -1,6 +1,6 @@
using System.Text.Json;
-namespace AStar.Utilities;
+namespace AStar.Dev.Utilities;
///
/// The see> class contains static / constant properties to simplify and centralise various settings.
diff --git a/src/AStar.Dev.Utilities/EnumExtensions.cs b/src/AStar.Dev.Utilities/EnumExtensions.cs
index 1b46cef..cb490d2 100644
--- a/src/AStar.Dev.Utilities/EnumExtensions.cs
+++ b/src/AStar.Dev.Utilities/EnumExtensions.cs
@@ -1,4 +1,4 @@
-namespace AStar.Utilities;
+namespace AStar.Dev.Utilities;
///
///
@@ -6,10 +6,11 @@
public static class EnumExtensions
{
///
- ///
+ /// The ParseEnum method will parse the supplied string and return the matching enum value.
///
- ///
- ///
- ///
+ /// The typeof of the expected enum.
+ /// The value to parse to the enum.
+ /// The parsed value as the matching enum value.
+ /// Thrown when the string is not a valid enum value.
public static T ParseEnum(this string value) => (T)Enum.Parse(typeof(T), value, true);
}
diff --git a/src/AStar.Dev.Utilities/ObjectExtensions.cs b/src/AStar.Dev.Utilities/ObjectExtensions.cs
index f9dc415..8a7d16c 100644
--- a/src/AStar.Dev.Utilities/ObjectExtensions.cs
+++ b/src/AStar.Dev.Utilities/ObjectExtensions.cs
@@ -1,6 +1,6 @@
using System.Text.Json;
-namespace AStar.Utilities;
+namespace AStar.Dev.Utilities;
///
/// The class contains some useful methods to enable various tasks
diff --git a/src/AStar.Dev.Utilities/StringExtensions.cs b/src/AStar.Dev.Utilities/StringExtensions.cs
index 63aa841..7246b6b 100644
--- a/src/AStar.Dev.Utilities/StringExtensions.cs
+++ b/src/AStar.Dev.Utilities/StringExtensions.cs
@@ -1,6 +1,6 @@
using System.Text.Json;
-namespace AStar.Utilities;
+namespace AStar.Dev.Utilities;
///
/// The class contains some useful methods to enable checks to be
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/AStar.Dev.Utilities.Unit.Tests.csproj b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AStar.Dev.Utilities.Unit.Tests.csproj
index 8bca3ab..0f44757 100644
--- a/tests/unit/AStar.Dev.Utilities.Unit.Tests/AStar.Dev.Utilities.Unit.Tests.csproj
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AStar.Dev.Utilities.Unit.Tests.csproj
@@ -14,6 +14,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
+
@@ -27,6 +28,7 @@
+
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyClass.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyClass.cs
new file mode 100644
index 0000000..0b94202
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyClass.cs
@@ -0,0 +1,8 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+internal class AnyClass
+{
+ public int AnyInt { get; set; }
+
+ public string AnyString { get; set; } = string.Empty;
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyEnum.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyEnum.cs
new file mode 100644
index 0000000..96f084a
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/AnyEnum.cs
@@ -0,0 +1,7 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+internal enum AnyEnum
+{
+ NotDefined,
+ Defined
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/ConstantsShould.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/ConstantsShould.cs
new file mode 100644
index 0000000..f87f168
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/ConstantsShould.cs
@@ -0,0 +1,11 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+public class ConstantsShould
+{
+ [Fact]
+ public void ContainTheExpectedWebDeserialisationSettingsSetting()
+ => Constants.WebDeserialisationSettings
+ .ToJson()
+ .Should()
+ .Be("{\"Converters\":[],\"TypeInfoResolver\":null,\"TypeInfoResolverChain\":[],\"AllowTrailingCommas\":false,\"DefaultBufferSize\":16384,\"Encoder\":null,\"DictionaryKeyPolicy\":null,\"IgnoreNullValues\":false,\"DefaultIgnoreCondition\":0,\"NumberHandling\":1,\"PreferredObjectCreationHandling\":0,\"IgnoreReadOnlyProperties\":false,\"IgnoreReadOnlyFields\":false,\"IncludeFields\":false,\"MaxDepth\":0,\"PropertyNamingPolicy\":{},\"PropertyNameCaseInsensitive\":true,\"ReadCommentHandling\":0,\"UnknownTypeHandling\":0,\"UnmappedMemberHandling\":0,\"WriteIndented\":false,\"ReferenceHandler\":null,\"IsReadOnly\":false}");
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/EnumExtensionsShould.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/EnumExtensionsShould.cs
new file mode 100644
index 0000000..62e3185
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/EnumExtensionsShould.cs
@@ -0,0 +1,16 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+public class EnumExtensionsShould
+{
+ [Fact]
+ public void ContainTheParseMethodReturningTheExpectedValue()
+ => "Defined".ParseEnum().Should().Be(AnyEnum.Defined);
+
+ [Fact]
+ public void ContainTheParseMethodWhichThrowsArgumentExceptionWhenTheValueIsNotFound()
+ {
+ Action parseStringAction = () => "ThisDoesntExitst".ParseEnum();
+
+ _ = parseStringAction.Should().Throw();
+ }
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/ObjectExtensionsShould.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/ObjectExtensionsShould.cs
new file mode 100644
index 0000000..11a52f5
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/ObjectExtensionsShould.cs
@@ -0,0 +1,10 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+public class ObjectExtensionsShould
+{
+ [Fact]
+ public void ContainTheToJsonMethodWhichReturnsTheExpectedString()
+ => ObjectExtensions
+ .ToJson(new AnyClass())
+ .Should().Be("{\"AnyInt\":0,\"AnyString\":\"\"}");
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/StringExtensionsShould.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/StringExtensionsShould.cs
new file mode 100644
index 0000000..5943c47
--- /dev/null
+++ b/tests/unit/AStar.Dev.Utilities.Unit.Tests/StringExtensionsShould.cs
@@ -0,0 +1,33 @@
+namespace AStar.Dev.Utilities.Unit.Tests;
+
+public class StringExtensionsShould
+{
+ private readonly string? nullString = null;
+ private readonly string notNullString = "value does not matter";
+ private readonly string whitespaceString = " ";
+ private readonly string anyJson = "{\"AnyInt\":0,\"AnyString\":\"\"}";
+
+ [Fact]
+ public void ContainTheIsNullMethodWhichReturnsTheResult()
+ => nullString.IsNull().Should().BeTrue();
+
+ [Fact]
+ public void ContainTheIsNotNullMethodWhichReturnsTheResult()
+ => notNullString.IsNotNull().Should().BeTrue();
+
+ [Fact]
+ public void ContainTheIsNullOrWhiteSpaceMethodWhichReturnsTheResult()
+ => whitespaceString.IsNullOrWhiteSpace().Should().BeTrue();
+
+ [Fact]
+ public void ContainTheIsNotNullOrWhiteSpaceMethodWhichReturnsTheResult()
+ => notNullString.IsNotNullOrWhiteSpace().Should().BeTrue();
+
+ [Fact]
+ public void ContainTheFromJsonMethodWhichReturnsTheResult()
+ => anyJson.FromJson().Should().BeEquivalentTo(new() { });
+
+ [Fact]
+ public void ContainTheFromJsonTakingJsonSerializerOptionsMethodWhichReturnsTheResult()
+ => anyJson.FromJson(new()).Should().BeEquivalentTo(new() { });
+}
diff --git a/tests/unit/AStar.Dev.Utilities.Unit.Tests/UnitTest1.cs b/tests/unit/AStar.Dev.Utilities.Unit.Tests/UnitTest1.cs
deleted file mode 100644
index 6386f98..0000000
--- a/tests/unit/AStar.Dev.Utilities.Unit.Tests/UnitTest1.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace AStar.Dev.Utilities.Unit.Tests;
-
-public class UnitTest1
-{
- [Fact]
- public void Test1()
- {
-
- }
-}
\ No newline at end of file