Exemple #1
0
        public void AddInputDirectoryHandlesAbsolutePaths()
        {
            string absoluteDirectoryPath = Path.Combine(TemporaryDirectory, Guid.NewGuid().ToString());
            string absoluteFilePath1     = Path.Combine(absoluteDirectoryPath, Guid.NewGuid().ToString());
            string absoluteFilePath2     = Path.Combine(absoluteDirectoryPath, Guid.NewGuid().ToString());

            Directory.CreateDirectory(absoluteDirectoryPath);
            File.WriteAllText(absoluteFilePath1, Guid.NewGuid().ToString());
            File.WriteAllText(absoluteFilePath2, 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.AddInputDirectory(absoluteDirectoryPath, TemporaryDirectory, "Mock");

            Assert.Equal(2, inputFilePredictions.Count);
            Assert.Contains(absoluteFilePath1, inputFilePredictions);
            Assert.Contains(absoluteFilePath2, inputFilePredictions);

            Assert.Equal(0, outputFolderPredictions.Count);

            Assert.Equal(0, predictionFailures.Count);
        }
Exemple #2
0
        public void AddInputDirectoryHandlesMissingPaths()
        {
            string absoluteDirectoryPath = Path.Combine(TemporaryDirectory, 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.AddInputDirectory(absoluteDirectoryPath, TemporaryDirectory, "Mock");

            // The folder didn't exist, so ignore the prediction
            Assert.Equal(0, inputFilePredictions.Count);
            Assert.Equal(0, outputFolderPredictions.Count);
            Assert.Equal(0, predictionFailures.Count);
        }
Exemple #3
0
        public void AddInputFileHandlesBadPaths()
        {
            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.AddInputFile("!@#$%^&*()\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);
        }
Exemple #4
0
        public void AddInputFileHandlesRelativePaths()
        {
            string relativePath = Path.Combine(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
            string absolutePath = Path.Combine(TemporaryDirectory, relativePath);

            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.AddInputFile(relativePath, TemporaryDirectory, "Mock");

            Assert.Equal(1, inputFilePredictions.Count);
            Assert.Contains(absolutePath, inputFilePredictions);

            Assert.Equal(0, outputFolderPredictions.Count);

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