11// ReSharper disable CheckNamespace
22namespace Pure . DI . UsageTests ;
33
4- public class ScenarioMetadataTests
4+ public partial class ScenarioMetadataTests
55{
66 [ Fact ]
77 public void ShouldContainRequiredDocumentationMetadata ( )
@@ -47,12 +47,13 @@ public void ShouldContainRequiredDocumentationMetadata()
4747 errors . Add ( $ "Suspicious encoding artifacts in { file } ") ;
4848 }
4949
50+ // ReSharper disable once LoopCanBeConvertedToQuery
5051 foreach ( var mdLink in GetMarkdownLinks ( metadata ) )
5152 {
5253 if ( mdLink . StartsWith ( "http://" , StringComparison . OrdinalIgnoreCase ) ||
5354 mdLink . StartsWith ( "https://" , StringComparison . OrdinalIgnoreCase ) ||
5455 mdLink . StartsWith ( "mailto:" , StringComparison . OrdinalIgnoreCase ) ||
55- mdLink . StartsWith ( "#" , StringComparison . Ordinal ) )
56+ mdLink . StartsWith ( '#' ) )
5657 {
5758 continue ;
5859 }
@@ -86,7 +87,7 @@ private static bool TryGetMetadata(string[] lines, out IReadOnlyList<string> met
8687 }
8788
8889 metadata = block
89- . Where ( i => i . StartsWith ( "$" , StringComparison . Ordinal ) )
90+ . Where ( i => i . StartsWith ( '$' ) )
9091 . ToArray ( ) ;
9192
9293 return true ;
@@ -110,7 +111,7 @@ private static string GetSolutionDirectory()
110111
111112 private static IEnumerable < string > GetMarkdownLinks ( IEnumerable < string > lines )
112113 {
113- var regex = new System . Text . RegularExpressions . Regex ( @"\[[^\]]+\]\(([^)]+)\)" ) ;
114+ var regex = MarkdownLinkRegex ( ) ;
114115 foreach ( var line in lines )
115116 {
116117 var matches = regex . Matches ( line ) ;
@@ -120,4 +121,7 @@ private static IEnumerable<string> GetMarkdownLinks(IEnumerable<string> lines)
120121 }
121122 }
122123 }
124+
125+ [ System . Text . RegularExpressions . GeneratedRegex ( @"\[[^\]]+\]\(([^)]+)\)" ) ]
126+ private static partial System . Text . RegularExpressions . Regex MarkdownLinkRegex ( ) ;
123127}
0 commit comments