88using FluentAssertions ;
99using Microsoft . OpenApi . Interfaces ;
1010using Microsoft . OpenApi . Models ;
11+ using Microsoft . OpenApi . Models . References ;
1112using Microsoft . OpenApi . Writers ;
1213using VerifyXunit ;
1314using Xunit ;
@@ -17,9 +18,9 @@ namespace Microsoft.OpenApi.Tests.Models
1718 [ Collection ( "DefaultSettings" ) ]
1819 public class OpenApiTagTests
1920 {
20- public static OpenApiTag BasicTag = new ( ) ;
21+ public static readonly OpenApiTag BasicTag = new ( ) ;
2122
22- public static OpenApiTag AdvancedTag = new ( )
23+ public static readonly OpenApiTag AdvancedTag = new ( )
2324 {
2425 Name = "pet" ,
2526 Description = "Pets operations" ,
@@ -30,21 +31,7 @@ public class OpenApiTagTests
3031 }
3132 } ;
3233
33- public static OpenApiTag ReferencedTag = new ( )
34- {
35- Name = "pet" ,
36- Description = "Pets operations" ,
37- ExternalDocs = OpenApiExternalDocsTests . AdvanceExDocs ,
38- Extensions = new Dictionary < string , IOpenApiExtension >
39- {
40- { "x-tag-extension" , null }
41- } ,
42- Reference = new ( )
43- {
44- Type = ReferenceType . Tag ,
45- Id = "pet"
46- }
47- } ;
34+ public static OpenApiTag ReferencedTag = new OpenApiTagReference ( "pet" , null ) ;
4835
4936 [ Theory ]
5037 [ InlineData ( true ) ]
@@ -56,7 +43,7 @@ public async Task SerializeBasicTagAsV3JsonWithoutReferenceWorksAsync(bool produ
5643 var writer = new OpenApiJsonWriter ( outputStringWriter , new ( ) { Terse = produceTerseOutput } ) ;
5744
5845 // Act
59- BasicTag . SerializeAsV3WithoutReference ( writer ) ;
46+ BasicTag . SerializeAsV3 ( writer ) ;
6047 writer . Flush ( ) ;
6148
6249 // Assert
@@ -73,7 +60,7 @@ public async Task SerializeBasicTagAsV2JsonWithoutReferenceWorksAsync(bool produ
7360 var writer = new OpenApiJsonWriter ( outputStringWriter , new ( ) { Terse = produceTerseOutput } ) ;
7461
7562 // Act
76- BasicTag . SerializeAsV2WithoutReference ( writer ) ;
63+ BasicTag . SerializeAsV2 ( writer ) ;
7764 writer . Flush ( ) ;
7865
7966 // Assert
@@ -89,7 +76,7 @@ public void SerializeBasicTagAsV3YamlWithoutReferenceWorks()
8976 var expected = "{ }" ;
9077
9178 // Act
92- BasicTag . SerializeAsV3WithoutReference ( writer ) ;
79+ BasicTag . SerializeAsV3 ( writer ) ;
9380 var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
9481
9582 // Assert
@@ -107,7 +94,7 @@ public void SerializeBasicTagAsV2YamlWithoutReferenceWorks()
10794 var expected = "{ }" ;
10895
10996 // Act
110- BasicTag . SerializeAsV2WithoutReference ( writer ) ;
97+ BasicTag . SerializeAsV2 ( writer ) ;
11198 writer . Flush ( ) ;
11299 var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
113100
@@ -117,40 +104,6 @@ public void SerializeBasicTagAsV2YamlWithoutReferenceWorks()
117104 actual . Should ( ) . Be ( expected ) ;
118105 }
119106
120- [ Theory ]
121- [ InlineData ( true ) ]
122- [ InlineData ( false ) ]
123- public async Task SerializeAdvancedTagAsV3JsonWithoutReferenceWorksAsync ( bool produceTerseOutput )
124- {
125- // Arrange
126- var outputStringWriter = new StringWriter ( CultureInfo . InvariantCulture ) ;
127- var writer = new OpenApiJsonWriter ( outputStringWriter , new ( ) { Terse = produceTerseOutput } ) ;
128-
129- // Act
130- AdvancedTag . SerializeAsV3WithoutReference ( writer ) ;
131- writer . Flush ( ) ;
132-
133- // Assert
134- await Verifier . Verify ( outputStringWriter ) . UseParameters ( produceTerseOutput ) ;
135- }
136-
137- [ Theory ]
138- [ InlineData ( true ) ]
139- [ InlineData ( false ) ]
140- public async Task SerializeAdvancedTagAsV2JsonWithoutReferenceWorksAsync ( bool produceTerseOutput )
141- {
142- // Arrange
143- var outputStringWriter = new StringWriter ( CultureInfo . InvariantCulture ) ;
144- var writer = new OpenApiJsonWriter ( outputStringWriter , new ( ) { Terse = produceTerseOutput } ) ;
145-
146- // Act
147- AdvancedTag . SerializeAsV2WithoutReference ( writer ) ;
148- writer . Flush ( ) ;
149-
150- // Assert
151- await Verifier . Verify ( outputStringWriter ) . UseParameters ( produceTerseOutput ) ;
152- }
153-
154107 [ Fact ]
155108 public void SerializeAdvancedTagAsV3YamlWithoutReferenceWorks ( )
156109 {
@@ -168,7 +121,7 @@ public void SerializeAdvancedTagAsV3YamlWithoutReferenceWorks()
168121 """ ;
169122
170123 // Act
171- AdvancedTag . SerializeAsV3WithoutReference ( writer ) ;
124+ AdvancedTag . SerializeAsV3 ( writer ) ;
172125 writer . Flush ( ) ;
173126 var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
174127
@@ -195,7 +148,7 @@ public void SerializeAdvancedTagAsV2YamlWithoutReferenceWorks()
195148 """ ;
196149
197150 // Act
198- AdvancedTag . SerializeAsV2WithoutReference ( writer ) ;
151+ AdvancedTag . SerializeAsV2 ( writer ) ;
199152 writer . Flush ( ) ;
200153 var actual = outputStringWriter . GetStringBuilder ( ) . ToString ( ) ;
201154
@@ -246,7 +199,12 @@ public void SerializeAdvancedTagAsV3YamlWorks()
246199 var outputStringWriter = new StringWriter ( CultureInfo . InvariantCulture ) ;
247200 var writer = new OpenApiYamlWriter ( outputStringWriter ) ;
248201
249- var expected = @" pet" ;
202+ var expected = @"name: pet
203+ description: Pets operations
204+ externalDocs:
205+ description: Find more info here
206+ url: https://example.com
207+ x-tag-extension:" ;
250208
251209 // Act
252210 AdvancedTag . SerializeAsV3 ( writer ) ;
@@ -266,7 +224,12 @@ public void SerializeAdvancedTagAsV2YamlWorks()
266224 var outputStringWriter = new StringWriter ( CultureInfo . InvariantCulture ) ;
267225 var writer = new OpenApiYamlWriter ( outputStringWriter ) ;
268226
269- var expected = @" pet" ;
227+ var expected = @"name: pet
228+ description: Pets operations
229+ externalDocs:
230+ description: Find more info here
231+ url: https://example.com
232+ x-tag-extension:" ;
270233
271234 // Act
272235 AdvancedTag . SerializeAsV2 ( writer ) ;
0 commit comments