Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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());
        }