@@ -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