private HygeaOptions GetBasicOptions()
        {
            var basicOptions = new HygeaOptions()
            {
                BAMPaths    = new[] { _existingBamPath },
                GenomePaths = new[] { _existingGenome }
            };

            basicOptions.SetIODirectories("Hygea");

            return(basicOptions);
        }
        public void GetLogFolder()
        {
            var options = GetBasicOptions();

            Assert.Equal(Path.Combine(Path.GetDirectoryName(_existingBamPath), "HygeaLogs"), options.LogFolder);

            // when multiple bam paths, use first bam file
            options = new HygeaOptions();
            var nonExistingBam = Path.Combine(TestPaths.LocalScratchDirectory, "nonexistant.bam");

            options.BAMPaths = new[] { nonExistingBam, _existingBamPath };
            options.SetIODirectories("Hygea");
            Assert.Equal(Path.Combine(Path.GetDirectoryName(nonExistingBam), "HygeaLogs"), options.LogFolder);

            // use output folder if provided
            options                 = new HygeaOptions();
            options.BAMPaths        = new[] { _existingBamPath };
            options.OutputDirectory = @"C:\SomeOutput";
            options.SetIODirectories("Hygea");
            Assert.Equal(Path.Combine(options.OutputDirectory, "HygeaLogs"), options.LogFolder);
        }