public void Expect_GenerateTemplate() { var eventQueue = Substitute.For<IEventQueue>(); eventQueue.When(m => m.Enqueue(Arg.Any<Action>())).Do(c => { Trace.WriteLine("Enqueue Called"); c.Arg<Action>()(); }); var templateController = new TemplateController(dte, item => new TemplateSubstitute(item)); var generationController = new GenerationController(dte, metadataProvider, templateController, eventQueue); var type = typeof(WebApiController); var nsParts = type.FullName.Remove(0, 11).Split('.'); var path = string.Join(@"\", nsParts); var templateFilename = Path.Combine(SolutionDirectory, path + ".tstemplate"); generationController.OnTemplateChanged(templateFilename); }
public GenerationController(DTE dte, IMetadataProvider metadataProvider, SolutionMonitor solutionMonitor, TemplateController templateController, EventQueue eventQueue) { this.dte = dte; this.metadataProvider = metadataProvider; this.templateController = templateController; solutionMonitor.FileAdded += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Render, args.Path); solutionMonitor.FileChanged += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Render, args.Path); solutionMonitor.FileDeleted += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Delete, args.Path); solutionMonitor.FileRenamed += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Rename, args.OldPath, args.NewPath); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); GetDte(); GetStatusbar(); GetCodeModelProvider(); RegisterLanguageService(); RegisterIcons(); ClearTempDirectory(); this.eventQueue = new EventQueue(statusBar); this.solutionMonitor = new SolutionMonitor(); this.templateController = new TemplateController(dte, metadataProvider, solutionMonitor, eventQueue); var generationController = new GenerationController(dte, metadataProvider, solutionMonitor, templateController, eventQueue); }
public GenerationController(DTE dte, IMetadataProvider metadataProvider, SolutionMonitor solutionMonitor, TemplateController templateController, EventQueue eventQueue) { this.dte = dte; this.metadataProvider = metadataProvider; this.templateController = templateController; solutionMonitor.FileAdded += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Render, args.Path); solutionMonitor.FileChanged += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Render, args.Path); solutionMonitor.FileDeleted += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Delete, args.Path); solutionMonitor.FileRenamed += (sender, args) => eventQueue.Enqueue(Render, GenerationType.Rename, args.OldPath, args.NewPath); }