Skip to content

Commit def1c74

Browse files
committed
Add language marker comments to test source strings
Added /* language=C#-test */ and //lang=csharp comments to the start of all embedded C# test source strings in SnapshotTests, BlankExtensionSnapshotTests, DiagnosticSnapshotTests, and RequestBindingSnapshotTests. This improves code parsing and tooling support for the test code samples. No changes to test logic or behavior.
1 parent 2af4a6e commit def1c74

File tree

4 files changed

+956
-799
lines changed

4 files changed

+956
-799
lines changed

tests/IeuanWalker.MinimalApi.Endpoints.Generator.Tests/BlankExtensionSnapshotTests.cs

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ public class BlankExtensionSnapshotTests
77
public Task GeneratesBlankExtensions_WhenNoEndpointsFound()
88
{
99
// Arrange - Empty source with no endpoint implementations
10-
const string source = """
10+
const string source =
11+
/* language=C#-test */
12+
//lang=csharp
13+
"""
1114
using System;
1215
1316
namespace TestNamespace;
@@ -26,7 +29,10 @@ public void DoSomething() { }
2629
public Task GeneratesBlankExtensions_WhenOnlyAbstractEndpointsFound()
2730
{
2831
// Arrange - Source with abstract endpoint classes (should be ignored)
29-
const string source = """
32+
const string source =
33+
/* language=C#-test */
34+
//lang=csharp
35+
"""
3036
using IeuanWalker.MinimalApi.Endpoints;
3137
using Microsoft.AspNetCore.Http.HttpResults;
3238
@@ -54,7 +60,10 @@ public record BaseResponse();
5460
public Task GeneratesBlankExtensions_WhenOnlyInterfacesFound()
5561
{
5662
// Arrange - Source with interface definitions only
57-
const string source = """
63+
const string source =
64+
/* language=C#-test */
65+
//lang=csharp
66+
"""
5867
using IeuanWalker.MinimalApi.Endpoints;
5968
6069
namespace TestNamespace;
@@ -75,7 +84,10 @@ public record CustomResponse();
7584
public Task GeneratesBlankExtensions_WithSpecialCharactersInAssemblyName()
7685
{
7786
// Arrange - This test verifies the assembly name sanitization in blank extensions
78-
const string source = """
87+
const string source =
88+
/* language=C#-test */
89+
//lang=csharp
90+
"""
7991
namespace TestNamespace;
8092
8193
public class RegularClass
@@ -93,7 +105,10 @@ public void DoSomething() { }
93105
public Task GeneratesBlankExtensions_WhenOnlyValidatorsFound()
94106
{
95107
// Arrange - Source with only validators, no endpoints
96-
const string source = """
108+
const string source =
109+
/* language=C#-test */
110+
//lang=csharp
111+
"""
97112
using IeuanWalker.MinimalApi.Endpoints;
98113
using FluentValidation;
99114
@@ -119,7 +134,10 @@ public UserModelValidator()
119134
public Task GeneratesBlankExtensions_WhenOnlyEndpointGroupsFound()
120135
{
121136
// Arrange - Source with only endpoint groups, no endpoints
122-
const string source = """
137+
const string source =
138+
/* language=C#-test */
139+
//lang=csharp
140+
"""
123141
using IeuanWalker.MinimalApi.Endpoints;
124142
125143
namespace TestNamespace;
@@ -149,7 +167,10 @@ public static RouteGroupBuilder Configure(WebApplication app)
149167
public Task GeneratesBlankExtensions_WhenEndpointHasNoConfigure()
150168
{
151169
// Arrange - Source with endpoint that doesn't properly implement Configure method
152-
const string source = """
170+
const string source =
171+
/* language=C#-test */
172+
//lang=csharp
173+
"""
153174
using IeuanWalker.MinimalApi.Endpoints;
154175
using Microsoft.AspNetCore.Http.HttpResults;
155176
@@ -176,7 +197,10 @@ public record IncompleteResponse();
176197
public Task GeneratesBlankExtensions_WhenEndpointConfigureHasNoHttpVerb()
177198
{
178199
// Arrange - Source with endpoint that has Configure method but no HTTP verb
179-
const string source = """
200+
const string source =
201+
/* language=C#-test */
202+
//lang=csharp
203+
"""
180204
using IeuanWalker.MinimalApi.Endpoints;
181205
using Microsoft.AspNetCore.Http.HttpResults;
182206

tests/IeuanWalker.MinimalApi.Endpoints.Generator.Tests/DiagnosticSnapshotTests.cs

Lines changed: 68 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ public class DiagnosticSnapshotTests
88
public Task DiagnosticMINAPI001_NoHttpVerbConfigured_ShouldError()
99
{
1010
// Arrange - This test covers the MINAPI001 diagnostic
11-
const string source = """
11+
const string source =
12+
/* language=C#-test */
13+
//lang=csharp
14+
"""
1215
using IeuanWalker.MinimalApi.Endpoints;
1316
using Microsoft.AspNetCore.Http.HttpResults;
1417
@@ -43,7 +46,10 @@ public record GetResponse(int Id);
4346
public Task DiagnosticMINAPI002_MultipleHttpVerbsConfigured_ShouldError()
4447
{
4548
// Arrange - This test covers the MINAPI002 diagnostic
46-
const string source = """
49+
const string source =
50+
/* language=C#-test */
51+
//lang=csharp
52+
"""
4753
using IeuanWalker.MinimalApi.Endpoints;
4854
using Microsoft.AspNetCore.Http.HttpResults;
4955
@@ -79,7 +85,10 @@ public record CreateResponse(int Id);
7985
public Task DiagnosticMINAPI003_GroupConfigureMissingMapGroup_ShouldError()
8086
{
8187
// Arrange - This test covers the MINAPI003 diagnostic
82-
const string source = """
88+
const string source =
89+
/* language=C#-test */
90+
//lang=csharp
91+
"""
8392
using IeuanWalker.MinimalApi.Endpoints;
8493
using Microsoft.AspNetCore.Builder;
8594
using Microsoft.AspNetCore.Http.HttpResults;
@@ -125,7 +134,10 @@ public static RouteGroupBuilder Configure(WebApplication app)
125134
public Task DiagnosticMINAPI004_MultipleMapGroupCallsInGroupConfigure_ShouldError()
126135
{
127136
// Arrange - This test covers the MINAPI004 diagnostic
128-
const string source = """
137+
const string source =
138+
/* language=C#-test */
139+
//lang=csharp
140+
"""
129141
using IeuanWalker.MinimalApi.Endpoints;
130142
using Microsoft.AspNetCore.Builder;
131143
using Microsoft.AspNetCore.Http.HttpResults;
@@ -172,7 +184,10 @@ public static RouteGroupBuilder Configure(WebApplication app)
172184
public Task DiagnosticMINAPI005_MultipleGroupCallsInConfigure_ShouldError()
173185
{
174186
// Arrange - This test covers the MINAPI005 diagnostic
175-
const string source = """
187+
const string source =
188+
/* language=C#-test */
189+
//lang=csharp
190+
"""
176191
using IeuanWalker.MinimalApi.Endpoints;
177192
using Microsoft.AspNetCore.Http.HttpResults;
178193
@@ -218,7 +233,10 @@ public static RouteGroupBuilder Configure(WebApplication app)
218233
public Task DiagnosticMINAPI006_UnusedEndpointGroup_ShouldWarn()
219234
{
220235
// Arrange - This test covers the MINAPI006 diagnostic
221-
const string source = """
236+
const string source =
237+
/* language=C#-test */
238+
//lang=csharp
239+
"""
222240
using IeuanWalker.MinimalApi.Endpoints;
223241
using Microsoft.AspNetCore.Builder;
224242
using Microsoft.AspNetCore.Http.HttpResults;
@@ -263,7 +281,10 @@ public static RouteGroupBuilder Configure(WebApplication app)
263281
public Task DiagnosticMINAPI007_MultipleValidatorsForSameType_ShouldError()
264282
{
265283
// Arrange - This test covers the MINAPI007 diagnostic
266-
const string source = """
284+
const string source =
285+
/* language=C#-test */
286+
//lang=csharp
287+
"""
267288
using IeuanWalker.MinimalApi.Endpoints;
268289
using FluentValidation;
269290
using Microsoft.AspNetCore.Http.HttpResults;
@@ -315,7 +336,10 @@ public CreateRequestValidatorB()
315336
public Task DiagnosticMINAPI008_ValidatorButValidationDisabled_ShouldWarn()
316337
{
317338
// Arrange - This test covers the MINAPI008 diagnostic
318-
const string source = """
339+
const string source =
340+
/* language=C#-test */
341+
//lang=csharp
342+
"""
319343
using IeuanWalker.MinimalApi.Endpoints;
320344
using FluentValidation;
321345
using Microsoft.AspNetCore.Http.HttpResults;
@@ -359,7 +383,10 @@ public CreateRequestValidator()
359383
public Task DiagnosticMINAPI009_AbstractValidatorOnRequest_ShouldWarn()
360384
{
361385
// Arrange - This test covers the MINAPI009 diagnostic
362-
const string source = """
386+
const string source =
387+
/* language=C#-test */
388+
//lang=csharp
389+
"""
363390
using IeuanWalker.MinimalApi.Endpoints;
364391
using FluentValidation;
365392
using Microsoft.AspNetCore.Http.HttpResults;
@@ -401,7 +428,10 @@ public CreateUserRequestValidator()
401428
public Task DiagnosticMINAPI009_MultipleAbstractValidatorsOnRequestTypes_ShouldWarnMultiple()
402429
{
403430
// Arrange - Test multiple abstract validators matching request types
404-
const string source = """
431+
const string source =
432+
/* language=C#-test */
433+
//lang=csharp
434+
"""
405435
using IeuanWalker.MinimalApi.Endpoints;
406436
using FluentValidation;
407437
using Microsoft.AspNetCore.Http.HttpResults;
@@ -467,7 +497,10 @@ public UpdateUserRequestValidator()
467497
public Task DiagnosticMINAPI009_AbstractValidatorNotMatchingRequestType_ShouldNotWarn()
468498
{
469499
// Arrange - Abstract validator for a type that's not used as a request type
470-
const string source = """
500+
const string source =
501+
/* language=C#-test */
502+
//lang=csharp
503+
"""
471504
using IeuanWalker.MinimalApi.Endpoints;
472505
using FluentValidation;
473506
using Microsoft.AspNetCore.Http.HttpResults;
@@ -509,7 +542,10 @@ public UnusedModelValidator()
509542
public Task DiagnosticMINAPI009_MixedValidatorTypes_ShouldOnlyWarnForAbstractValidators()
510543
{
511544
// Arrange - Mix of proper Validator<T> and AbstractValidator<T>
512-
const string source = """
545+
const string source =
546+
/* language=C#-test */
547+
//lang=csharp
548+
"""
513549
using IeuanWalker.MinimalApi.Endpoints;
514550
using FluentValidation;
515551
using Microsoft.AspNetCore.Http.HttpResults;
@@ -576,7 +612,10 @@ public UpdateUserRequestValidator()
576612
public Task DiagnosticMINAPI009_AbstractValidatorInheritanceChain_ShouldWarn()
577613
{
578614
// Arrange - Abstract validator with inheritance chain
579-
const string source = """
615+
const string source =
616+
/* language=C#-test */
617+
//lang=csharp
618+
"""
580619
using IeuanWalker.MinimalApi.Endpoints;
581620
using FluentValidation;
582621
using Microsoft.AspNetCore.Http.HttpResults;
@@ -631,7 +670,10 @@ public CreateUserRequestValidator()
631670
public Task DiagnosticMINAPI010_MultipleRequestTypesConfigured_ShouldError()
632671
{
633672
// Arrange - This test covers the MINAPI010 diagnostic
634-
const string source = """
673+
const string source =
674+
/* language=C#-test */
675+
//lang=csharp
676+
"""
635677
using IeuanWalker.MinimalApi.Endpoints;
636678
using Microsoft.AspNetCore.Http.HttpResults;
637679
@@ -664,7 +706,10 @@ public record CreateResponse(int Id);
664706
public Task DiagnosticMINAPI010_ThreeRequestTypesConfigured_ShouldError()
665707
{
666708
// Arrange - Test with three different request type methods
667-
const string source = """
709+
const string source =
710+
/* language=C#-test */
711+
//lang=csharp
712+
"""
668713
using IeuanWalker.MinimalApi.Endpoints;
669714
using Microsoft.AspNetCore.Http.HttpResults;
670715
@@ -698,7 +743,10 @@ public record CreateResponse(int Id);
698743
public Task DiagnosticMINAPI010_MultipleRequestTypesWithMethodChaining_ShouldError()
699744
{
700745
// Arrange - Test with method chaining pattern
701-
const string source = """
746+
const string source =
747+
/* language=C#-test */
748+
//lang=csharp
749+
"""
702750
using IeuanWalker.MinimalApi.Endpoints;
703751
using Microsoft.AspNetCore.Http.HttpResults;
704752
@@ -733,7 +781,10 @@ public record UpdateResponse(bool Success);
733781
public Task DiagnosticMINAPI010_SingleRequestType_ShouldNotError()
734782
{
735783
// Arrange - Test that single request type works correctly (no errors)
736-
const string source = """
784+
const string source =
785+
/* language=C#-test */
786+
//lang=csharp
787+
"""
737788
using IeuanWalker.MinimalApi.Endpoints;
738789
using Microsoft.AspNetCore.Http.HttpResults;
739790

0 commit comments

Comments
 (0)