public void SearchPatternFindsCorrectFiles(string searchPattern, SearchOption searchOption, int expectedCount) { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.InputFolder = @"TestFiles\Input\"; Metadata metadata = new Metadata(engine); Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(metadata, pipeline) }; IExecutionContext context = new ExecutionContext(engine, pipeline); ReadFiles readFiles = new ReadFiles(searchPattern).WithSearchOption(searchOption); // When IEnumerable <IDocument> documents = readFiles.Execute(inputs, context); int count = documents.Count(); // Then Assert.AreEqual(expectedCount, count); }
public void SearchPatternWorksWithoutInputPathTrailingSlash() { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.InputFolder = @"TestFiles\Input"; Metadata metadata = new Metadata(engine); Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(metadata, pipeline) }; IExecutionContext context = new ExecutionContext(engine, pipeline); ReadFiles readFiles = new ReadFiles("*.txt"); // When IEnumerable <IDocument> documents = readFiles.Execute(inputs, context); int count = documents.Count(); // Then Assert.AreEqual(3, count); }
public void WhereAndWithExtensionsGetsCorrectFiles() { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.InputFolder = @"TestFiles\Input"; Metadata metadata = new Metadata(engine); Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(metadata, pipeline) }; IExecutionContext context = new ExecutionContext(engine, pipeline); ReadFiles readFiles = new ReadFiles("*.*").Where(x => x.Contains("-c")).WithExtensions("txt"); // When IEnumerable <IDocument> documents = readFiles.Execute(inputs, context); int count = documents.Count(); // Then Assert.AreEqual(1, count); }
public void RelativePathsAreConsistentBeforeAndAfterWriteFiles() { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.InputFolder = @"TestFiles\Input"; engine.OutputFolder = @"TestFiles\Output\"; Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(engine, pipeline) }; IExecutionContext context = new ExecutionContext(engine, pipeline); ReadFiles readFiles = new ReadFiles(@"test-c.txt"); WriteFiles writeFiles = new WriteFiles("txt"); // When IDocument readFilesDocument = readFiles.Execute(inputs, context).First(); object readFilesRelativeFilePath = readFilesDocument.Metadata[Keys.RelativeFilePath]; object readFilesRelativeFilePathBase = readFilesDocument.Metadata[Keys.RelativeFilePathBase]; object readFilesRelativeFileDir = readFilesDocument.Metadata[Keys.RelativeFileDir]; IDocument writeFilesDocument = writeFiles.Execute(new [] { readFilesDocument }, context).First(); object writeFilesRelativeFilePath = writeFilesDocument.Metadata[Keys.RelativeFilePath]; object writeFilesRelativeFilePathBase = writeFilesDocument.Metadata[Keys.RelativeFilePathBase]; object writeFilesRelativeFileDir = writeFilesDocument.Metadata[Keys.RelativeFileDir]; foreach (IDocument document in inputs) { ((IDisposable)document).Dispose(); } // Then Assert.AreEqual(@"Subfolder\test-c.txt", readFilesRelativeFilePath); Assert.AreEqual(@"Subfolder\test-c", readFilesRelativeFilePathBase); Assert.AreEqual(@"Subfolder", readFilesRelativeFileDir); Assert.AreEqual(@"Subfolder\test-c.txt", writeFilesRelativeFilePath); Assert.AreEqual(@"Subfolder\test-c", writeFilesRelativeFilePathBase); Assert.AreEqual(@"Subfolder", writeFilesRelativeFileDir); ((IDisposable)readFilesDocument).Dispose(); ((IDisposable)writeFilesDocument).Dispose(); }