public void SupportsParallelClassReports_Xml_TrueIsReturned()
        {
            var factory = new RendererFactory(ReportTypes.Xml);
            Assert.IsTrue(factory.SupportsParallelClassReports, "True was expected.");

            factory = new RendererFactory(ReportTypes.XmlSummary);
            Assert.IsTrue(factory.SupportsParallelClassReports, "True was expected.");
        }
        public void CreateSummaryRenderer_Xml_NewInstanceIsCreated()
        {
            var factory = new RendererFactory(ReportTypes.Xml);

            var renderer1 = GetInnerRenderers(factory.CreateSummaryRenderer()).First();
            var renderer2 = GetInnerRenderers(factory.CreateSummaryRenderer()).First();

            Assert.AreNotSame(renderer1, renderer2, "New instance expected.");
            Assert.IsInstanceOfType(renderer1, typeof(XmlRenderer), "Wrong type returned.");
        }
        public void CreateClassRenderer_Latex_SingletonIsReturned()
        {
            var factory = new RendererFactory(ReportTypes.Latex);

            var renderer1 = GetInnerRenderers(factory.CreateClassRenderer()).First();
            var renderer2 = GetInnerRenderers(factory.CreateClassRenderer()).First();

            Assert.AreSame(renderer1, renderer2, "Singleton instance expected.");
            Assert.IsInstanceOfType(renderer1, typeof(LatexRenderer), "Wrong type returned.");
        }
Esempio n. 4
0
        /// <summary>
        /// Executes the report generation.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <returns><c>true</c> if report was generated successfully; otherwise <c>false</c>.</returns>
        public static bool Execute(ReportConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            var appender = new log4net.Appender.ConsoleAppender();
            appender.Layout = new log4net.Layout.PatternLayout("%message%newline");
            log4net.Config.BasicConfigurator.Configure(appender);

            if (!configuration.Validate())
            {
                return false;
            }

            if (configuration.VerbosityLevel == VerbosityLevel.Info)
            {
                appender.Threshold = log4net.Core.Level.Info;
            }
            else if (configuration.VerbosityLevel == VerbosityLevel.Error)
            {
                appender.Threshold = log4net.Core.Level.Error;
            }

            var stopWatch = new System.Diagnostics.Stopwatch();
            stopWatch.Start();

            var parser = ParserFactory.CreateParser(configuration.ReportFiles, configuration.SourceDirectories);

            using (var rendererFactory = new RendererFactory(configuration.ReportType))
            {
                new ReportBuilder(
                    parser,
                    rendererFactory,
                    configuration.TargetDirectory,
                    new DefaultAssemblyFilter(configuration.Filters))
                        .CreateReport();
            }

            stopWatch.Stop();
            Logger.InfoFormat(Resources.ReportGenerationTook, stopWatch.ElapsedMilliseconds / 1000);

            return true;
        }
 public void SupportsParallelClassReports_Latex_FalseIsReturned()
 {
     var factory = new RendererFactory(ReportTypes.Latex);
     Assert.IsFalse(factory.SupportsParallelClassReports, "False was expected.");
 }
        public void CreateClassRenderer_SeveralReportType_CorrectNumberIsReturned()
        {
            var factory = new RendererFactory(ReportTypes.Latex | ReportTypes.Xml | ReportTypes.Html);

            Assert.AreEqual(3, GetInnerRenderers(factory.CreateClassRenderer()).Count(), "Wrong number of renderers.");
        }
        public void CreateClassRenderer_LatexSummary_NoInstanceIsReturned()
        {
            var factory = new RendererFactory(ReportTypes.LatexSummary);

            Assert.IsTrue(!GetInnerRenderers(factory.CreateClassRenderer()).Any(), "No renderer expected.");
        }