private static EvaluationCommandLineHandler CreateInstanceWithDesignTimeItems(string fullPath, string semiColonSeparatedItems)
        {
            var handler = CreateInstance(fullPath);

            // Setup the "current state"
            ApplyProjectBuild(handler, 1, IProjectChangeDiffFactory.WithAddedItems(semiColonSeparatedItems));

            return(handler);
        }
        public void ApplyProjectBuild_AddsItemFullPathRelativeToProject(string includePath, string expected)
        {
            var handler    = CreateInstance(@"C:\Project\Project.csproj");
            var difference = IProjectChangeDiffFactory.WithAddedItems(includePath);

            ApplyProjectBuild(handler, 1, difference);

            Assert.Single(handler.FileNames, expected);
        }
        public void ApplyProjectBuild_WithExistingDesignTimeChanges_CanAddItem(string currentFiles, string filesToAdd, string expected)
        {
            string[] expectedFiles = expected.Split(';');

            var handler = CreateInstanceWithDesignTimeItems(@"C:\Project\Project.csproj", currentFiles);

            var difference = IProjectChangeDiffFactory.WithAddedItems(filesToAdd);

            ApplyProjectBuild(handler, 2, difference);

            Assert.Equal(expectedFiles.OrderBy(f => f), handler.FileNames.OrderBy(f => f));
        }
Пример #4
0
        public void ApplyEvaluationChanges_WithExistingEvaluationChanges_CanAddItem(string currentFiles, string filesToAdd, string expected)
        {
            string[] expectedFiles = expected.Split(';');

            var handler = CreateInstanceWithEvaluationItems(@"C:\Project\Project.csproj", currentFiles);

            var difference = IProjectChangeDiffFactory.WithAddedItems(filesToAdd);

            ApplyEvaluationChanges(handler, 2, difference);

            Assert.Equal(handler.Files.OrderBy(f => f), expectedFiles.OrderBy(f => f));
        }
        public void AddEvaluationChanges_CanAddItemWithMetadata()
        {
            var handler = CreateInstance(@"C:\Project\Project.csproj");

            var difference = IProjectChangeDiffFactory.WithAddedItems("A.cs");
            var metadata   = MetadataFactory.Create("A.cs", ("Name", "Value"));

            ApplyProjectEvaluation(handler, 1, difference, metadata);

            var result = handler.Files[@"C:\Project\A.cs"];

            Assert.Equal("Value", result["Name"]);
        }
Пример #6
0
        public void AddEvaluationChanges_ItemsWithExclusionMetadataAreIgnored()
        {
            var handler = CreateInstance(@"C:\Project\Project.csproj");

            var difference = IProjectChangeDiffFactory.WithAddedItems("A.cs;B.cs;C.cs");
            var metadata   = MetadataFactory.Create("A.cs", ("ExcludeFromCurrentConfiguration", "true"))
                             .Add("B.cs", ("ExcludeFromCurrentConfiguration", "false"));


            ApplyProjectEvaluation(handler, 1, difference, metadata);

            string[] expectedFiles = new[] { @"C:\Project\B.cs", @"C:\Project\C.cs" };
            Assert.Equal(expectedFiles.OrderBy(f => f), handler.FileNames.OrderBy(f => f));
        }
        public void ApplyProjectBuild_WhenOlderEvaluationChangesWithRemovedConflict_DesignTimeWinsOut()
        {
            var handler = CreateInstance(@"C:\Project\Project.csproj");

            int evaluationVersion = 0;

            // Setup the "current state"
            ApplyProjectEvaluation(handler, evaluationVersion, IProjectChangeDiffFactory.WithRemovedItems("Source.cs"));

            int designTimeVersion = 1;

            ApplyProjectBuild(handler, designTimeVersion, IProjectChangeDiffFactory.WithAddedItems("Source.cs"));

            Assert.Single(handler.FileNames, @"C:\Project\Source.cs");
        }
Пример #8
0
        public void ApplyDesignTimeChanges_WhenNewerEvaluationChangesWithRemovedConflict_EvaluationWinsOut()
        {
            var handler = CreateInstance(@"C:\Project\Project.cs");

            int evaluationVersion = 1;

            // Setup the "current state"
            ApplyEvaluationChanges(handler, evaluationVersion, IProjectChangeDiffFactory.WithRemovedItems("Source.cs"));

            int designTimeVersion = 0;

            ApplyDesignTimeChanges(handler, designTimeVersion, IProjectChangeDiffFactory.WithAddedItems("Source.cs"));

            Assert.Empty(handler.Files);
        }