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); }
internal void Generate(RelativeLocator locator, IGenerator fileGenerator, IEnumerable <ICSharpFile> files) { this.workspace.RegisterFile(GetContentFile("./Patterns/Itf/IObjectPattern.cs")); this.workspace.RegisterFile(GetContentFile("./Patterns/Itf/IFactoryPattern.cs")); this.workspace.RegisterFile(GetContentFile("./Patterns/Impl/FactoryPattern.cs")); this.workspace.RegisterFile(GetContentFile("./Patterns/Impl/ObjectPattern.cs")); var resolver = this.workspace.DeepLoad(); var generator1 = new AutomatedGenerator( fileGenerator, locator, resolver, typeof(IFactoryPattern)); var generatedItems1 = generator1.Generate(files); var generator2 = new AutomatedGenerator( fileGenerator, locator, resolver, typeof(FactoryPattern)); var generatedItems2 = generator2.Generate(files); var generator3 = new AutomatedGenerator( fileGenerator, locator, resolver, typeof(ObjectPattern)); var generatedItems3 = generator3.Generate(files); }