Skip to content

Commit 629bd95

Browse files
committed
Added missing enum test
1 parent f9de392 commit 629bd95

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

src/DemaConsulting.SpdxModel/SpdxReferenceCategory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public static class SpdxReferenceCategoryExtensions
6464
/// <exception cref="InvalidOperationException">on error</exception>
6565
public static SpdxReferenceCategory FromText(string category)
6666
{
67-
return category switch
67+
return category.ToUpperInvariant() switch
6868
{
6969
"" => SpdxReferenceCategory.Missing,
7070
"SECURITY" => SpdxReferenceCategory.Security,

test/DemaConsulting.SpdxModel.Tests/SpdxExternalReferenceTests.cs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,52 @@ public void Enhance()
136136
Assert.AreEqual("purl", references[1].Type);
137137
Assert.AreEqual("pkg:nuget/SomePackage@0.0.0", references[1].Locator);
138138
}
139+
140+
/// <summary>
141+
/// Tests the <see cref="SpdxReferenceCategoryExtensions.FromText(string)"/> method with valid input.
142+
/// </summary>
143+
[TestMethod]
144+
public void SpdxReferenceCategoryExtensions_FromText_Valid()
145+
{
146+
Assert.AreEqual(SpdxReferenceCategory.Missing, SpdxReferenceCategoryExtensions.FromText(""));
147+
Assert.AreEqual(SpdxReferenceCategory.Security, SpdxReferenceCategoryExtensions.FromText("SECURITY"));
148+
Assert.AreEqual(SpdxReferenceCategory.Security, SpdxReferenceCategoryExtensions.FromText("security"));
149+
Assert.AreEqual(SpdxReferenceCategory.Security, SpdxReferenceCategoryExtensions.FromText("Security"));
150+
Assert.AreEqual(SpdxReferenceCategory.PackageManager, SpdxReferenceCategoryExtensions.FromText("PACKAGE-MANAGER"));
151+
Assert.AreEqual(SpdxReferenceCategory.PackageManager, SpdxReferenceCategoryExtensions.FromText("PACKAGE_MANAGER"));
152+
Assert.AreEqual(SpdxReferenceCategory.PersistentId, SpdxReferenceCategoryExtensions.FromText("PERSISTENT-ID"));
153+
Assert.AreEqual(SpdxReferenceCategory.Other, SpdxReferenceCategoryExtensions.FromText("OTHER"));
154+
}
155+
156+
/// <summary>
157+
/// Tests the <see cref="SpdxReferenceCategoryExtensions.FromText(string)"/> method with invalid input.
158+
/// </summary>
159+
[TestMethod]
160+
public void SpdxReferenceCategoryExtensions_FromText_Invalid()
161+
{
162+
var exception = Assert.ThrowsException<InvalidOperationException>(() => SpdxReferenceCategoryExtensions.FromText("invalid"));
163+
Assert.AreEqual("Unsupported SPDX Reference Category 'invalid'", exception.Message);
164+
}
165+
166+
/// <summary>
167+
/// Tests the <see cref="SpdxReferenceCategoryExtensions.ToText"/> method with valid input.
168+
/// </summary>
169+
[TestMethod]
170+
public void SpdxReferenceCategoryExtensions_ToText_Valid()
171+
{
172+
Assert.AreEqual("SECURITY", SpdxReferenceCategory.Security.ToText());
173+
Assert.AreEqual("PACKAGE-MANAGER", SpdxReferenceCategory.PackageManager.ToText());
174+
Assert.AreEqual("PERSISTENT-ID", SpdxReferenceCategory.PersistentId.ToText());
175+
Assert.AreEqual("OTHER", SpdxReferenceCategory.Other.ToText());
176+
}
177+
178+
/// <summary>
179+
/// Tests the <see cref="SpdxReferenceCategoryExtensions.ToText"/> method with invalid input.
180+
/// </summary>
181+
[TestMethod]
182+
public void SpdxReferenceCategoryExtensions_ToText_Invalid()
183+
{
184+
var exception = Assert.ThrowsException<InvalidOperationException>(() => ((SpdxReferenceCategory)1000).ToText());
185+
Assert.AreEqual("Unsupported SPDX Reference Category '1000'", exception.Message);
186+
}
139187
}

0 commit comments

Comments
 (0)