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();
        }
Exemplo n.º 3
0
        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()));
        }