@@ -80,17 +80,19 @@ public class UserControl { }
80
80
. CreateCompilation ( "MyApp.Samples" )
81
81
. ToMetadataReference ( ) ;
82
82
83
- // Get all current referenced assemblies + our generated sample project.
84
- var headReferences = TestHelpers . GetAllReferencedAssemblies ( ) . Concat ( new [ ] { sampleProjectAssembly } ) ;
85
- var headCompilation = string . Empty . ToSyntaxTree ( ) . CreateCompilation ( "MyApp.Head" , headReferences ) ;
83
+ // Create application head that references generated sample project
84
+ var headCompilation = string . Empty
85
+ . ToSyntaxTree ( )
86
+ . CreateCompilation ( "MyApp.Head" , TestHelpers . GetAllReferencedAssemblies ( ) )
87
+ . AddReferences ( sampleProjectAssembly ) ;
86
88
87
89
// Run source generator
88
90
var result = headCompilation . RunSourceGenerator < ToolkitSampleMetadataGenerator > ( ) ;
89
91
90
92
result . AssertDiagnosticsAre ( ) ;
91
93
result . AssertNoCompilationErrors ( ) ;
92
94
93
- result . AssertSourceGenerated ( filename : "ToolkitSampleRegistry.g.cs" , expectedContents : """
95
+ Assert . AreEqual ( result . Compilation . GetFileContentsByName ( "ToolkitSampleRegistry.g.cs" ) , """
94
96
#nullable enable
95
97
namespace CommunityToolkit.Tooling.SampleGen;
96
98
@@ -101,7 +103,7 @@ public static class ToolkitSampleRegistry
101
103
["Sample"] = new CommunityToolkit.Tooling.SampleGen.Metadata.ToolkitSampleMetadata("Sample", "Test Sample", "", typeof(MyApp.Sample), () => new MyApp.Sample(), null, null, new CommunityToolkit.Tooling.SampleGen.Metadata.IGeneratedToolkitSampleOptionViewModel[] { new CommunityToolkit.Tooling.SampleGen.Metadata.ToolkitSampleNumericOptionMetadataViewModel(name: "TextSize", initial: 12, min: 8, max: 48, step: 2, showAsNumberBox: false, title: "FontSize") })
102
104
};
103
105
}
104
- """ ) ;
106
+ """ , "Unexpected code generated" ) ;
105
107
}
106
108
107
109
[ TestMethod ]
@@ -385,7 +387,7 @@ public class UserControl {{ }}
385
387
[ TestMethod ]
386
388
public void GeneratedPaneOption_ButtonAction ( )
387
389
{
388
- var syntaxTree = $@ "
390
+ var sampleProjectAssembly = $@ "
389
391
using System.ComponentModel;
390
392
using CommunityToolkit.Tooling.SampleGen;
391
393
using CommunityToolkit.Tooling.SampleGen.Attributes;
@@ -405,19 +407,24 @@ private void RaiseNotification()
405
407
namespace Windows.UI.Xaml.Controls
406
408
{{
407
409
public class UserControl {{ }}
408
- }}" . ToSyntaxTree ( ) ;
409
-
410
+ }}"
411
+ . ToSyntaxTree ( )
412
+ . CreateCompilation ( "MyApp.Samples" )
413
+ . ToMetadataReference ( ) ;
410
414
411
- // Create compilation builder with custom assembly name
412
- var compilation = syntaxTree . CreateCompilation ( "MyApp.Tests" ) ;
415
+ // Create application head that references generated sample project
416
+ var headCompilation = string . Empty
417
+ . ToSyntaxTree ( )
418
+ . CreateCompilation ( "MyApp.Head" , TestHelpers . GetAllReferencedAssemblies ( ) )
419
+ . AddReferences ( sampleProjectAssembly ) ;
413
420
414
421
// Run source generator
415
- var result = compilation . RunSourceGenerator < ToolkitSampleMetadataGenerator > ( ) ;
422
+ var result = headCompilation . RunSourceGenerator < ToolkitSampleMetadataGenerator > ( ) ;
416
423
417
424
result . AssertDiagnosticsAre ( ) ;
418
425
result . AssertNoCompilationErrors ( ) ;
419
426
420
- result . AssertSourceGenerated ( filename : "ToolkitSampleRegistry.g.cs" , expectedContents : """
427
+ Assert . AreEqual ( result . Compilation . GetFileContentsByName ( "ToolkitSampleRegistry.g.cs" ) , """
421
428
#nullable enable
422
429
namespace CommunityToolkit.Tooling.SampleGen;
423
430
@@ -428,6 +435,6 @@ public static class ToolkitSampleRegistry
428
435
["Sample"] = new CommunityToolkit.Tooling.SampleGen.Metadata.ToolkitSampleMetadata("Sample", "Test Sample", "", typeof(MyApp.Sample), () => new MyApp.Sample(), null, null, new CommunityToolkit.Tooling.SampleGen.Metadata.IGeneratedToolkitSampleOptionViewModel[] { new CommunityToolkit.Tooling.SampleGen.Metadata.ToolkitSampleNumericOptionMetadataViewModel(name: "TextSize", initial: 12, min: 8, max: 48, step: 2, showAsNumberBox: false, title: "FontSize") })
429
436
};
430
437
}
431
- """ ) ;
438
+ """ , "Unexpected code generated" ) ;
432
439
}
433
440
}
0 commit comments