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