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); }
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); }
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); }
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); }