Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #3
0
        public void AddInputDirectoryHandlesBadPaths()
        {
            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("!@#$%^&*()\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);
        }