public async Task ProcessAsync_EvaluateFileSetOnEveryChangeIfOptimizationIsSuppressed() { // Arrange var filter = new MSBuildEvaluationFilter(_fileSetFactory); var context = new DotNetWatchContext { Iteration = 0, SuppressMSBuildIncrementalism = true, }; await filter.ProcessAsync(context, default); context.Iteration++; context.ChangedFile = new FileItem { FilePath = "Controller.cs" }; context.RequiresMSBuildRevaluation = false; // Act await filter.ProcessAsync(context, default); // Assert Assert.True(context.RequiresMSBuildRevaluation); Mock.Get(_fileSetFactory).Verify(v => v.CreateAsync(It.IsAny <CancellationToken>()), Times.Exactly(2)); }
public async Task ProcessAsync_EvaluatesFileSetIfProjFileChanges() { // Arrange var filter = new MSBuildEvaluationFilter(_fileSetFactory); var context = new DotNetWatchContext { Iteration = 0, }; await filter.ProcessAsync(context, default); context.Iteration++; context.ChangedFile = "Test.csproj"; context.RequiresMSBuildRevaluation = false; // Act await filter.ProcessAsync(context, default); // Assert Assert.True(context.RequiresMSBuildRevaluation); }
public async Task ProcessAsync_DoesNotEvaluateFileSetIfNonProjFileChanges() { // Arrange var filter = new MSBuildEvaluationFilter(_fileSetFactory); var context = new DotNetWatchContext { Iteration = 0, }; await filter.ProcessAsync(context, default); context.Iteration++; context.ChangedFile = "Controller.cs"; context.RequiresMSBuildRevaluation = false; // Act await filter.ProcessAsync(context, default); // Assert Assert.False(context.RequiresMSBuildRevaluation); Mock.Get(_fileSetFactory).Verify(v => v.CreateAsync(It.IsAny <CancellationToken>()), Times.Once()); }