aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs')
-rw-r--r--src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs b/src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs
deleted file mode 100644
index ae55b2b5..00000000
--- a/src/ext/Bal/test/WixToolsetTest.Dnc.HostGenerator/DncHostGeneratorTests.cs
+++ /dev/null
@@ -1,91 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Dnc.HostGenerator
4{
5 using System;
6 using System.Text;
7 using System.Threading.Tasks;
8 using Microsoft.CodeAnalysis;
9 using Microsoft.CodeAnalysis.Testing;
10 using Microsoft.CodeAnalysis.Text;
11 using WixToolset.Dnc.HostGenerator;
12 using WixToolset.Mba.Core;
13 using Xunit;
14
15 using VerifyCS = CSharpSourceGeneratorVerifier<WixToolset.Dnc.HostGenerator.DncHostGenerator>;
16
17 public class DncHostGeneratorTests
18 {
19 static readonly MetadataReference MbaCoreAssembly = MetadataReference.CreateFromFile(typeof(BootstrapperApplicationFactoryAttribute).Assembly.Location);
20
21 // https://github.com/dotnet/roslyn/blob/main/docs/features/source-generators.cookbook.md#unit-testing-of-generators
22 [Fact]
23 public async Task FailsBuildWhenMissingAttribute()
24 {
25 var code = @"
26//[assembly: WixToolset.Mba.Core.BootstrapperApplicationFactory(typeof(Test.BAFactory))]
27namespace Test
28{
29 using WixToolset.Mba.Core;
30
31 public class BAFactory : BaseBootstrapperApplicationFactory
32 {
33 protected override IBootstrapperApplication Create(IEngine engine, IBootstrapperCommand bootstrapperCommand)
34 {
35 return null;
36 }
37 }
38}
39";
40
41 await new VerifyCS.Test
42 {
43 TestState =
44 {
45 Sources = { code },
46 ReferenceAssemblies = ReferenceAssemblies.Net.Net60,
47 AdditionalReferences = { MbaCoreAssembly },
48 ExpectedDiagnostics =
49 {
50 new DiagnosticResult(DncHostGenerator.MissingFactoryAttributeDescriptor),
51 },
52 },
53 }.RunAsync();
54 }
55
56 [Fact]
57 public async Task GeneratesEntryPoint()
58 {
59 var code = @"
60[assembly: WixToolset.Mba.Core.BootstrapperApplicationFactory(typeof(Test.BAFactory))]
61namespace Test
62{
63 using WixToolset.Mba.Core;
64
65 public class BAFactory : BaseBootstrapperApplicationFactory
66 {
67 protected override IBootstrapperApplication Create(IEngine engine, IBootstrapperCommand bootstrapperCommand)
68 {
69 return null;
70 }
71 }
72}
73";
74 var generated = String.Format(DncHostGenerator.Template, DncHostGenerator.Version, "Test.BAFactory");
75
76 await new VerifyCS.Test
77 {
78 TestState =
79 {
80 Sources = { code },
81 GeneratedSources =
82 {
83 (typeof(DncHostGenerator), "WixToolset.Dnc.Host.g.cs", SourceText.From(generated, Encoding.UTF8, SourceHashAlgorithm.Sha256)),
84 },
85 ReferenceAssemblies = ReferenceAssemblies.Net.Net60,
86 AdditionalReferences = { MbaCoreAssembly },
87 },
88 }.RunAsync();
89 }
90 }
91}