Exemplo n.º 1
0
        /// <nodoc />
        public DiscriminatingUnion <FileArtifact, IReadOnlyList <DirectoryArtifact> > Remap(DiscriminatingUnion <FileArtifact, IReadOnlyList <DirectoryArtifact> > fileUnion)
        {
            DiscriminatingUnion <FileArtifact, IReadOnlyList <DirectoryArtifact> > remappedPath = null;

            if (fileUnion != null)
            {
                var fileValue = fileUnion.GetValue();
                remappedPath = new DiscriminatingUnion <FileArtifact, IReadOnlyList <DirectoryArtifact> >();

                if (fileValue is FileArtifact file)
                {
                    remappedPath.SetValue(Remap(file));
                }
                else if (fileValue is IReadOnlyList <DirectoryArtifact> searchDirectories)
                {
                    remappedPath.SetValue(Remap(searchDirectories));
                }
            }

            return(remappedPath);
        }
Exemplo n.º 2
0
        /// <nodoc />
        public DiscriminatingUnion <FileArtifact, PathAtom> Remap(DiscriminatingUnion <FileArtifact, PathAtom> fileUnion)
        {
            DiscriminatingUnion <FileArtifact, PathAtom> remappedPath = null;

            if (fileUnion != null)
            {
                var fileValue = fileUnion.GetValue();
                remappedPath = new DiscriminatingUnion <FileArtifact, PathAtom>();

                if (fileValue is FileArtifact file)
                {
                    remappedPath.SetValue(Remap(file));
                }
                else if (fileValue is PathAtom pathAtom)
                {
                    remappedPath.SetValue(Remap(pathAtom));
                }
            }

            return(remappedPath);
        }
Exemplo n.º 3
0
        public void EnvironmentIsHonored()
        {
            var one = new DiscriminatingUnion <string, UnitValue>();

            one.SetValue("1");

            var project  = CreateProjectWithPredictions("A.proj");
            var testProj = Start(new MsBuildResolverSettings {
                Environment = new Dictionary <string, DiscriminatingUnion <string, UnitValue> > {
                    ["Test"] = one
                }
            })
                           .Add(project)
                           .ScheduleAll()
                           .AssertSuccess()
                           .RetrieveSuccessfulProcess(project);

            var testEnvironmentVariable = testProj.EnvironmentVariables.First(e => e.Name.ToString(PathTable.StringTable).Equals("Test"));

            Assert.Equal("1", testEnvironmentVariable.Value.ToString(PathTable));
        }