protected override void Context()
        {
            var factory = new BuildTrackerFactory();

            _outputDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestResults", "Artifacts");
            var workDir = Path.Combine(_outputDir, "WORK");
            var plotDir = Path.Combine(workDir, Constants.ArtifactFolderForPlots);

            if (Directory.Exists(plotDir))
            {
                Directory.Delete(plotDir, true);
            }

            Directory.CreateDirectory(plotDir);
            _artifact1 = Path.Combine(plotDir, "oneArtifact.pdf");
            using (var writer = new StreamWriter(_artifact1))
            {
                writer.Write("BLAH");
            }

            var pdfReportFullPath = Path.Combine(_outputDir, string.Concat("Report", ".pdf"));

            _tracker = factory.CreateFor <BuildTracker>(pdfReportFullPath, "WORK");

            _imageConverter = new ImageConverter();
            sut             = new ArtifactsManager(_imageConverter);
        }
        public void CreateReport(Summary summary, DirectoryInfo outputDirectory)
        {
            var engineNamespace    = GetType().Namespace;
            var templatesNamespace = engineNamespace + ".Templates";
            var templateService    = new RazorTemplateService(templatesNamespace, outputDirectory.FullName);

            if (summary.Reports.Count > 1)
            {
                summary.InsertIndexSideNavLink();
                templateService.Save(summary);
            }

            var artifactsManager = new ArtifactsManager(outputDirectory);

            foreach (var report in summary.Reports)
            {
                report.SideNavLinks = summary.SideNavLinks;
                artifactsManager.CopyReportedArtifacts(report);
                if (report.XmlFileContents != null)
                {
                    artifactsManager.SaveOriginalXmlContents(report);
                }
                templateService.Save(report);
            }
            var assetsNamespace = engineNamespace + ".Assets";

            AssetsCopier.CopyTo(assetsNamespace, outputDirectory);
        }