예제 #1
0
        public void AddOutputFileHandlesBadPaths()
        {
            var inputFilePredictions    = new List <string>();
            var outputFolderPredictions = new List <string>();
            var predictionFailures      = new ConcurrentQueue <(string predictorName, string failure)>();
            var collector = new MsBuildPredictionCollector(inputFilePredictions, outputFolderPredictions, predictionFailures);

            collector.AddOutputFile("!@#$%^&*()\0", TemporaryDirectory, "Mock");

            Assert.Equal(0, inputFilePredictions.Count);

            Assert.Equal(0, outputFolderPredictions.Count);

            Assert.Equal(1, predictionFailures.Count);
            Assert.Equal("Mock", predictionFailures.Single().predictorName);
            Assert.Contains("!@#$%^&*()\0", predictionFailures.Single().failure);
        }
예제 #2
0
        public void AddOutputFileHandlesAbsolutePaths()
        {
            string absoluteDirectoryPath = Path.Combine(TemporaryDirectory, Guid.NewGuid().ToString());
            string absoluteFilePath      = Path.Combine(absoluteDirectoryPath, Guid.NewGuid().ToString());

            var inputFilePredictions    = new List <string>();
            var outputFolderPredictions = new List <string>();
            var predictionFailures      = new ConcurrentQueue <(string predictorName, string failure)>();
            var collector = new MsBuildPredictionCollector(inputFilePredictions, outputFolderPredictions, predictionFailures);

            collector.AddOutputFile(absoluteFilePath, TemporaryDirectory, "Mock");

            Assert.Equal(0, inputFilePredictions.Count);

            Assert.Equal(1, outputFolderPredictions.Count);
            Assert.Contains(absoluteDirectoryPath, outputFolderPredictions);

            Assert.Equal(0, predictionFailures.Count);
        }