static void Main(string[] args) { Console.WriteLine("ReTagger"); try { _applicationOptions = OptionsParser.Parse <ApplicationOptions>(args); if (!_applicationOptions.Validate()) { Console.WriteLine("One of the options is incorrect"); Console.WriteLine(_applicationOptions.Usage()); return; } } catch (OptionsParsingException ex) { Console.WriteLine(ex.Message); return; } IEnumerable <Rule> rules; try { var fileParser = new TextParser(); var fileReader = new FileReader(); rules = fileParser.Parse(fileReader.GetLines(_applicationOptions.UpdateFile)); var recursiveTraversal = new RecursiveFilteredDirectoryTraversal(_applicationOptions.Filter); var count = 0; foreach (var file in recursiveTraversal.Traverse(_applicationOptions.Directory)) { if (ProcessFile(file, rules)) { count++; } } Console.Out.WriteLine($"modified {count} files."); if (_applicationOptions.Simulate) { Console.Out.WriteLine("in SIMULATION mode no changes made"); } } catch (Exception ex) { Console.Write(ex.Message); Console.Write(ex.StackTrace); Console.Error.WriteLine(ex.Message); } }
public void InvalidVcfOutputFolder() { var appOptions = new ApplicationOptions { BAMPaths = new[] { _bamChr19, _bamChr17Chr19, _bamChr17Chr19Dup }, IntervalPaths = new[] { _intervalsChr17, _intervalsChr19, null }, GenomePaths = new[] { _genomeChr17Chr19 } }; Assert.False(Directory.Exists("56:\\Illumina\\OutputFolder")); var outputFolder = Path.Combine("56:\\Illumina\\OutputFolder"); // var outputFile = Path.Combine(outputFolder, "VcfFileWriterTests.vcf"); var outputFileOptions = new[] { "-OutFolder", outputFolder }; appOptions.UpdateOptions(outputFileOptions); Assert.Throws <ArgumentException>(() => appOptions.Validate()); }