public Task Test() { var inputCompilation = CreateCompilation(@" using Nuke.Common; using Nuke.Common.ProjectModel; partial class Build : NukeBuild { [Solution(GenerateProjects = true)] readonly Solution Solution; }"); var generator = new StronglyTypedSolutionGenerator(); var driver = CSharpGeneratorDriver.Create(generator); var result = driver.RunGenerators(inputCompilation); return(Verifier.Verify(result)); }
public void TestUnspecified() { var inputCompilation = CreateCompilation(@" using Nuke.Common; using Nuke.Common.ProjectModel; partial class Build : NukeBuild { [Solution] readonly Solution Solution; }"); var generator = new StronglyTypedSolutionGenerator(); var driver = CSharpGeneratorDriver.Create(generator); var result = driver.RunGenerators(inputCompilation).GetRunResult(); if (!result.Diagnostics.IsEmpty) { throw new Exception(string.Join(Environment.NewLine, result.Diagnostics.Select(x => x.GetMessage()))); } result.GeneratedTrees.Should().BeEmpty(); }
public Task TestGlobalSolution() { var inputCompilation = CreateCompilation(@" using Nuke.Common; using Nuke.Common.ProjectModel; partial class Build : NukeBuild { [Solution(GenerateProjects = true)] readonly Solution Solution; }"); var generator = new StronglyTypedSolutionGenerator(); var driver = (GeneratorDriver)CSharpGeneratorDriver.Create(generator); var result = driver.RunGeneratorsAndUpdateCompilation(inputCompilation, out _, out _).GetRunResult(); if (!result.Diagnostics.IsEmpty) { throw new Exception(string.Join(Environment.NewLine, result.Diagnostics.Select(x => x.GetMessage()))); } return(Verifier.Verify(result.GeneratedTrees.Single().GetRoot().ToFullString())); }