From 0ffd351301a4d330c22f3543537a2e8afaaec278 Mon Sep 17 00:00:00 2001 From: Dion Date: Tue, 27 Feb 2024 23:02:35 +0100 Subject: [PATCH] add tests --- .../Helpers/WindowsOpenDesktopAppTests.cs | 33 ++++++++++- .../Helpers/EnumHelperTest.cs | 57 +++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/starsky/starskytest/starsky.foundation.native/OpenApplicationNative/Helpers/WindowsOpenDesktopAppTests.cs b/starsky/starskytest/starsky.foundation.native/OpenApplicationNative/Helpers/WindowsOpenDesktopAppTests.cs index 73c96b36da..34d30a987b 100644 --- a/starsky/starskytest/starsky.foundation.native/OpenApplicationNative/Helpers/WindowsOpenDesktopAppTests.cs +++ b/starsky/starskytest/starsky.foundation.native/OpenApplicationNative/Helpers/WindowsOpenDesktopAppTests.cs @@ -72,7 +72,7 @@ public void W_OpenDefault_NonWindows() var result = WindowsOpenDesktopApp.OpenDefault(["any value"], OSPlatform.Linux); Assert.IsNull(result); } - + [TestMethod] public void W_OpenDefault2_NonWindows() { @@ -82,6 +82,20 @@ public void W_OpenDefault2_NonWindows() return; } + var result = WindowsOpenDesktopApp.OpenDefault(["any value"], OSPlatform.Windows); + + Assert.IsTrue(result); + } + + [TestMethod] + public void W_OpenDefault3_NonWindows() + { + if ( new AppSettings().IsWindows ) + { + Assert.Inconclusive("This test if for Unix Only"); + return; + } + var result = WindowsOpenDesktopApp.OpenDefault(["any value"]); Console.WriteLine(result); @@ -121,7 +135,7 @@ public void W_OpenApplicationAtUrl_NonWindows() "app", OSPlatform.Linux); Assert.IsNull(result); } - + [TestMethod] [ExpectedException(typeof(Win32Exception))] public void W_OpenApplicationAtUrl2_NonWindows() @@ -132,6 +146,21 @@ public void W_OpenApplicationAtUrl2_NonWindows() return; } + // ExpectedException = Win32Exception + WindowsOpenDesktopApp.OpenApplicationAtUrl(["any value"], + "/not_found_849539453", OSPlatform.Windows); + } + + [TestMethod] + [ExpectedException(typeof(Win32Exception))] + public void W_OpenApplicationAtUrl3_NonWindows() + { + if ( new AppSettings().IsWindows ) + { + Assert.Inconclusive("This test if for Unix Only"); + return; + } + WindowsOpenDesktopApp.OpenApplicationAtUrl(new List { "any value" }, "app"); } diff --git a/starsky/starskytest/starsky.foundation.writemeta/Helpers/EnumHelperTest.cs b/starsky/starskytest/starsky.foundation.writemeta/Helpers/EnumHelperTest.cs index f5af9fb725..b036f03a3a 100644 --- a/starsky/starskytest/starsky.foundation.writemeta/Helpers/EnumHelperTest.cs +++ b/starsky/starskytest/starsky.foundation.writemeta/Helpers/EnumHelperTest.cs @@ -108,4 +108,61 @@ public void Test_GetDisplayName_ReturnsEmptyString_ForNullableEnumWithNullDispla // Assert Assert.AreEqual(null, result); } + + public enum TestType + { + [Display(Name = "First Display Name")] FirstValue, + + [Display(Name = "Second Display Name")] + SecondValue + } + + [TestMethod] + public void GetDisplayName_WithValidEnumValue_ReturnsCorrectDisplayName() + { + // Arrange + var enumValue = TestType.FirstValue; + + // Act + var displayName = EnumHelper.GetDisplayName(enumValue); + + // Assert + Assert.AreEqual("First Display Name", displayName); + } + + [TestMethod] + public void GetDisplayName_WithNullEnumValue_ReturnsNull() + { + // Arrange & Act + var displayName = EnumHelper.GetDisplayName(null!); + + // Assert + Assert.IsNull(displayName); + } + + [TestMethod] + public void GetDisplayName_WithInvalidEnumValue_ReturnsNull() + { + // Arrange + var enumValue = ( TestType )100; // An invalid value + + // Act + var displayName = EnumHelper.GetDisplayName(enumValue); + + // Assert + Assert.IsNull(displayName); + } + + [TestMethod] + public void GetDisplayName_WithEnumValueWithoutDisplayAttribute_ReturnsNull() + { + // Arrange + var enumValue = TestType.SecondValue; + + // Act + var displayName = EnumHelper.GetDisplayName(enumValue); + + // Assert + Assert.AreEqual("Second Display Name", displayName); + } }