1- using Microsoft . OpenApi . Attributes ;
1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Linq ;
4+ using System . Reflection . Metadata ;
5+ using Microsoft . OpenApi . Attributes ;
26using Microsoft . OpenApi . Extensions ;
7+ using Microsoft . OpenApi . Models ;
38using Xunit ;
49
510namespace Microsoft . OpenApi . Tests . Attributes
@@ -26,5 +31,147 @@ public void GetDisplayNameExtensionShouldUseDisplayAttribute(ApiLevel apiLevel,
2631 Assert . Equal ( expected , apiLevel . GetDisplayName ( ) ) ;
2732#pragma warning restore CS0618 // Type or member is obsolete, testing obsolete behavior
2833 }
34+
35+ [ Fact ]
36+ public void GetDisplayNameWorksForAllParameterStyle ( )
37+ {
38+ var enumValues = new List < ParameterStyle > ( Enum . GetValues < ParameterStyle > ( ) ) ;
39+
40+ Assert . Equal ( "matrix" , ParameterStyle . Matrix . GetDisplayName ( ) ) ;
41+ Assert . True ( enumValues . Remove ( ParameterStyle . Matrix ) ) ;
42+
43+ Assert . Equal ( "label" , ParameterStyle . Label . GetDisplayName ( ) ) ;
44+ Assert . True ( enumValues . Remove ( ParameterStyle . Label ) ) ;
45+
46+ Assert . Equal ( "form" , ParameterStyle . Form . GetDisplayName ( ) ) ;
47+ Assert . True ( enumValues . Remove ( ParameterStyle . Form ) ) ;
48+
49+ Assert . Equal ( "simple" , ParameterStyle . Simple . GetDisplayName ( ) ) ;
50+ Assert . True ( enumValues . Remove ( ParameterStyle . Simple ) ) ;
51+
52+ Assert . Equal ( "spaceDelimited" , ParameterStyle . SpaceDelimited . GetDisplayName ( ) ) ;
53+ Assert . True ( enumValues . Remove ( ParameterStyle . SpaceDelimited ) ) ;
54+
55+ Assert . Equal ( "pipeDelimited" , ParameterStyle . PipeDelimited . GetDisplayName ( ) ) ;
56+ Assert . True ( enumValues . Remove ( ParameterStyle . PipeDelimited ) ) ;
57+
58+ Assert . Equal ( "deepObject" , ParameterStyle . DeepObject . GetDisplayName ( ) ) ;
59+ Assert . True ( enumValues . Remove ( ParameterStyle . DeepObject ) ) ;
60+
61+ Assert . Empty ( enumValues ) ;
62+ }
63+
64+ [ Fact ]
65+ public void GetDisplayNameWorksForAllParameterLocation ( )
66+ {
67+ var enumValues = new List < ParameterLocation > ( Enum . GetValues < ParameterLocation > ( ) ) ;
68+
69+ Assert . Equal ( "query" , ParameterLocation . Query . GetDisplayName ( ) ) ;
70+ Assert . True ( enumValues . Remove ( ParameterLocation . Query ) ) ;
71+
72+ Assert . Equal ( "header" , ParameterLocation . Header . GetDisplayName ( ) ) ;
73+ Assert . True ( enumValues . Remove ( ParameterLocation . Header ) ) ;
74+
75+ Assert . Equal ( "path" , ParameterLocation . Path . GetDisplayName ( ) ) ;
76+ Assert . True ( enumValues . Remove ( ParameterLocation . Path ) ) ;
77+
78+ Assert . Equal ( "cookie" , ParameterLocation . Cookie . GetDisplayName ( ) ) ;
79+ Assert . True ( enumValues . Remove ( ParameterLocation . Cookie ) ) ;
80+
81+ Assert . Empty ( enumValues ) ;
82+ }
83+
84+ [ Fact ]
85+ public void GetDisplayNameWorksForAllReferenceType ( )
86+ {
87+ var enumValues = new List < ReferenceType > ( Enum . GetValues < ReferenceType > ( ) ) ;
88+
89+ Assert . Equal ( "schemas" , ReferenceType . Schema . GetDisplayName ( ) ) ;
90+ Assert . True ( enumValues . Remove ( ReferenceType . Schema ) ) ;
91+
92+ Assert . Equal ( "responses" , ReferenceType . Response . GetDisplayName ( ) ) ;
93+ Assert . True ( enumValues . Remove ( ReferenceType . Response ) ) ;
94+
95+ Assert . Equal ( "parameters" , ReferenceType . Parameter . GetDisplayName ( ) ) ;
96+ Assert . True ( enumValues . Remove ( ReferenceType . Parameter ) ) ;
97+
98+ Assert . Equal ( "examples" , ReferenceType . Example . GetDisplayName ( ) ) ;
99+ Assert . True ( enumValues . Remove ( ReferenceType . Example ) ) ;
100+
101+ Assert . Equal ( "requestBodies" , ReferenceType . RequestBody . GetDisplayName ( ) ) ;
102+ Assert . True ( enumValues . Remove ( ReferenceType . RequestBody ) ) ;
103+
104+ Assert . Equal ( "headers" , ReferenceType . Header . GetDisplayName ( ) ) ;
105+ Assert . True ( enumValues . Remove ( ReferenceType . Header ) ) ;
106+
107+ Assert . Equal ( "securitySchemes" , ReferenceType . SecurityScheme . GetDisplayName ( ) ) ;
108+ Assert . True ( enumValues . Remove ( ReferenceType . SecurityScheme ) ) ;
109+
110+ Assert . Equal ( "links" , ReferenceType . Link . GetDisplayName ( ) ) ;
111+ Assert . True ( enumValues . Remove ( ReferenceType . Link ) ) ;
112+
113+ Assert . Equal ( "callbacks" , ReferenceType . Callback . GetDisplayName ( ) ) ;
114+ Assert . True ( enumValues . Remove ( ReferenceType . Callback ) ) ;
115+
116+ Assert . Equal ( "tags" , ReferenceType . Tag . GetDisplayName ( ) ) ;
117+ Assert . True ( enumValues . Remove ( ReferenceType . Tag ) ) ;
118+
119+ Assert . Equal ( "path" , ReferenceType . Path . GetDisplayName ( ) ) ;
120+ Assert . True ( enumValues . Remove ( ReferenceType . Path ) ) ;
121+
122+ Assert . Empty ( enumValues ) ;
123+ }
124+
125+ [ Fact ]
126+ public void GetDisplayNameWorksForAllOperationTypes ( )
127+ {
128+ var enumValues = new List < OperationType > ( Enum . GetValues < OperationType > ( ) ) ;
129+
130+ Assert . Equal ( "get" , OperationType . Get . GetDisplayName ( ) ) ;
131+ Assert . True ( enumValues . Remove ( OperationType . Get ) ) ;
132+
133+ Assert . Equal ( "put" , OperationType . Put . GetDisplayName ( ) ) ;
134+ Assert . True ( enumValues . Remove ( OperationType . Put ) ) ;
135+
136+ Assert . Equal ( "post" , OperationType . Post . GetDisplayName ( ) ) ;
137+ Assert . True ( enumValues . Remove ( OperationType . Post ) ) ;
138+
139+ Assert . Equal ( "delete" , OperationType . Delete . GetDisplayName ( ) ) ;
140+ Assert . True ( enumValues . Remove ( OperationType . Delete ) ) ;
141+
142+ Assert . Equal ( "options" , OperationType . Options . GetDisplayName ( ) ) ;
143+ Assert . True ( enumValues . Remove ( OperationType . Options ) ) ;
144+
145+ Assert . Equal ( "head" , OperationType . Head . GetDisplayName ( ) ) ;
146+ Assert . True ( enumValues . Remove ( OperationType . Head ) ) ;
147+
148+ Assert . Equal ( "patch" , OperationType . Patch . GetDisplayName ( ) ) ;
149+ Assert . True ( enumValues . Remove ( OperationType . Patch ) ) ;
150+
151+ Assert . Equal ( "trace" , OperationType . Trace . GetDisplayName ( ) ) ;
152+ Assert . True ( enumValues . Remove ( OperationType . Trace ) ) ;
153+
154+ Assert . Empty ( enumValues ) ;
155+ }
156+
157+ [ Fact ]
158+ public void GetDisplayNameWorksForAllSecuritySchemeTypes ( )
159+ {
160+ var enumValues = new List < SecuritySchemeType > ( Enum . GetValues < SecuritySchemeType > ( ) ) ;
161+
162+ Assert . Equal ( "apiKey" , SecuritySchemeType . ApiKey . GetDisplayName ( ) ) ;
163+ Assert . True ( enumValues . Remove ( SecuritySchemeType . ApiKey ) ) ;
164+
165+ Assert . Equal ( "http" , SecuritySchemeType . Http . GetDisplayName ( ) ) ;
166+ Assert . True ( enumValues . Remove ( SecuritySchemeType . Http ) ) ;
167+
168+ Assert . Equal ( "oauth2" , SecuritySchemeType . OAuth2 . GetDisplayName ( ) ) ;
169+ Assert . True ( enumValues . Remove ( SecuritySchemeType . OAuth2 ) ) ;
170+
171+ Assert . Equal ( "openIdConnect" , SecuritySchemeType . OpenIdConnect . GetDisplayName ( ) ) ;
172+ Assert . True ( enumValues . Remove ( SecuritySchemeType . OpenIdConnect ) ) ;
173+
174+ Assert . Empty ( enumValues ) ;
175+ }
29176 }
30177}
0 commit comments