public void VerifyFileDidnotExist()
        {
            SetupMocks();
            var jacocoXml = JacocoFileDidnotExist();
            JaCoCoSummaryReader summaryReader = new JaCoCoSummaryReader();

            Assert.Throws <ArgumentException>(() => summaryReader.GetCodeCoverageSummary(_ec.Object, jacocoXml));
        }
        public void VerifyEmptyXmlFile()
        {
            var emptyXml = GetEmptyCCFile();

            try
            {
                SetupMocks();
                var summaryReader = new JaCoCoSummaryReader();
                Assert.Null(summaryReader.GetCodeCoverageSummary(_ec.Object, emptyXml));
                Assert.Equal(0, _errors.Count);
                Assert.Equal(0, _warnings.Count);
            }
            finally
            {
                File.Delete(emptyXml);
            }
        }
        public void VerifyWrongXmlFile()
        {
            var wrongXml      = JacocoWrongXmlFile();
            var summaryReader = new JaCoCoSummaryReader();

            try
            {
                SetupMocks();
                var coverageStats = summaryReader.GetCodeCoverageSummary(_ec.Object, wrongXml);
                Assert.Equal(coverageStats.ToList().Count, 0);
                Assert.Equal(0, _errors.Count);
                Assert.Equal(0, _warnings.Count);
            }
            finally
            {
                File.Delete(wrongXml);
            }
        }
        public void VerifyInvalidXmlFile()
        {
            var invalidXml    = JacocoInvalidXmlFile();
            var summaryReader = new JaCoCoSummaryReader();

            try
            {
                SetupMocks();
                summaryReader.GetCodeCoverageSummary(_ec.Object, invalidXml);
            }
            finally
            {
                File.Delete(invalidXml);
            }

            Assert.Equal(0, _errors.Count);
            Assert.Equal(1, _warnings.Count);
        }
        public void VerifyJacocoCoverageStatisticsForValidSummaryFile()
        {
            SetupMocks();
            var jacocoXml = GetPathToValidJaCoCoFile();

            try
            {
                JaCoCoSummaryReader summaryReader = new JaCoCoSummaryReader();
                var coverageStats    = summaryReader.GetCodeCoverageSummary(_ec.Object, jacocoXml);
                var coverageStatsNew = coverageStats.ToList();
                coverageStatsNew.Sort(new Statscomparer());
                Assert.Equal(0, _errors.Count);
                Assert.Equal(0, _warnings.Count);
                VerifyCoverageStats(coverageStatsNew.ToList());
            }
            finally
            {
                File.Delete(jacocoXml);
            }
        }