private void GenerateSnapshot(string snapshotName, params string[] files) { var sc = new ServiceCollection(); sc.AddTestLogging(this.testOutputHelper); sc.AddCSharpToolsGenerator(); using (var sp = sc.BuildServiceProvider()) { var workspace = sp.GetService <ICSharpWorkspace>(); foreach (var file in files) { workspace.RegisterFile(file); } var generator = new ToolsGenerator( sp.GetService <ILogger <ToolsGenerator> >(), workspace); var inputs = new HashSet <string>(); var locator = new RelativeLocator(string.Empty, "target.name.space"); var snapshotGenerator = new SnapshotGenerator(); generator.Generate(locator, snapshotGenerator, workspace.Files); var location = SnapshotHelper.GetLocationFromCallingProjectRoot(null); SnapshotHelper.AssertSnapshot(snapshotGenerator.GetAllGenerated(), snapshotName, location); } }
private void GenerateAndAssertSnapshot( Type patternType, string patternInterfaceFile, string patternImplementationFile, string declarationInterfaceFile, string targetNameSpace, string snapshotName) { var resolver = this.LoadWorkSpace( patternInterfaceFile, patternImplementationFile, declarationInterfaceFile, out var itfDeclaration, out var itfPatternDeclaration, out var implPatternDeclaration, out var files); var locator = new RelativeLocator(string.Empty, targetNameSpace); var snapshotGenerator = new SnapshotGenerator(); var implGenerator = new AutomatedGenerator( snapshotGenerator, locator, resolver, patternType); implGenerator.Generate(files); string location = SnapshotHelper.GetLocationFromCallingProjectRoot("Generator"); SnapshotHelper.AssertSnapshot(snapshotGenerator.GetAllGenerated(), snapshotName, location); }
private void GenerateAndAssertSnapshot( string patternInterfaceFile, string patternImplementationFile, string declarationInterfaceFile, string targetNameSpace, string implName, string snapshotName) { this.LoadWorkSpace( patternInterfaceFile, patternImplementationFile, declarationInterfaceFile, out var itfDeclaration, out var itfPatternDeclaration, out var implPatternDeclaration); var locator = new RelativeLocator(string.Empty, targetNameSpace); var snapshotGenerator = new SnapshotGenerator(); var implGenerator = new ImplementationGenerator( snapshotGenerator, locator, itfPatternDeclaration, implPatternDeclaration); var writerSelector = SetupWriterSelector(itfPatternDeclaration, implPatternDeclaration, itfDeclaration, implName); implGenerator.Generate(writerSelector, itfDeclaration, implName); string location = SnapshotHelper.GetLocationFromCallingProjectRoot("Generator"); SnapshotHelper.AssertSnapshot(snapshotGenerator.GetAllGenerated(), snapshotName, location); }