public void GetStats_ReturnsCorrectStatsModel_WhenInvokedWithNoData()
        {
            var rOptions = TestDbContextOptionsFactory.GetTestReadDbOptions();
            var cOptions = TestDbContextOptionsFactory.GetTestCommandDbOptions();

            using var readContext    = new ReadGenomeContext(rOptions);
            using var commandContext = new CommandGenomeContext(cOptions);
            var statsRepository = new StatsRepository(readContext, commandContext);

            var result = statsRepository.GetGenomeStats();

            Assert.Equal(0, result.HumanCount);
            Assert.Equal(0, result.MutantCount);
            Assert.Equal(0, result.Ratio);
        }
        public void GetStats_ReturnsCorrectStatsModel_WhenInvokedWithOnlyOneMutantRow()
        {
            var rOptions = TestDbContextOptionsFactory.GetTestReadDbOptions();
            var cOptions = TestDbContextOptionsFactory.GetTestCommandDbOptions();

            using var readContext    = new ReadGenomeContext(rOptions);
            using var commandContext = new CommandGenomeContext(cOptions);
            var testGenomes = new List <Genome>()
            {
                new Genome(new[] { "ACGT", "TGCA" }, true),
            };

            readContext.Genomes.AddRange(testGenomes);
            readContext.SaveChanges();
            var statsRepository = new StatsRepository(readContext, commandContext);

            var result = statsRepository.GetGenomeStats();

            Assert.Equal(0, result.HumanCount);
            Assert.Equal(1, result.MutantCount);
            Assert.Equal(1, result.Ratio);
        }