private void AssertWriter(ReportWritersConfiguration configuration, string expectedRelativePath, Type expectedFormatterType, string expectedFullPath) { var writer = configuration.OfType <ReportFileWriter>().FirstOrDefault(w => w.OutputPath == expectedRelativePath); Assert.That(writer, Is.Not.Null, $"Expected to find writer with path: {expectedRelativePath}"); Assert.That(writer.FullOutputPath, Is.EqualTo(Path.GetFullPath(expectedFullPath))); Assert.That(writer.Formatter, Is.InstanceOf(expectedFormatterType)); }
public void It_should_allow_clear_add_and_remove_items() { var writer = Mock.Of <IReportWriter>(); var writer2 = Mock.Of <IReportWriter>(); var configuration = new ReportWritersConfiguration(); Assert.That(configuration.Clear(), Is.Empty); Assert.That(configuration.Add(writer).Add(writer2).ToArray(), Is.EqualTo(new[] { writer, writer2 })); Assert.That(configuration.Remove(writer).ToArray(), Is.EqualTo(new[] { writer2 })); }
public void It_should_return_default_configuration() { var configuration = new ReportWritersConfiguration().RegisterFrameworkDefaultReportWriters(); Assert.That(configuration.Count, Is.EqualTo(1)); var featuresReportHtml = $"~{Path.DirectorySeparatorChar}Reports{Path.DirectorySeparatorChar}FeaturesReport.html"; AssertWriter(configuration, featuresReportHtml, typeof(HtmlReportFormatter), featuresReportHtml.Replace("~", AppContext.BaseDirectory)); }
public void It_should_allow_adding_file_writer_with_extension_method() { var writer = new ReportWritersConfiguration() .Clear() .AddFileWriter <PlainTextReportFormatter>("file.txt") .Cast <ReportFileWriter>() .SingleOrDefault(); Assert.That(writer, Is.Not.Null); Assert.That(writer.Formatter, Is.TypeOf <PlainTextReportFormatter>()); Assert.That(writer.OutputPath, Is.EqualTo("file.txt")); }
public void It_should_return_default_configuration() { var configuration = new ReportWritersConfiguration(); Assert.That(configuration.Count, Is.EqualTo(2)); var featuresReportXml = @"~\Reports\FeaturesReport.xml"; var featuresReportHtml = @"~\Reports\FeaturesReport.html"; AssertWriter(configuration, featuresReportXml, typeof(XmlReportFormatter), featuresReportXml.Replace("~", AppDomainHelper.BaseDirectory)); AssertWriter(configuration, featuresReportHtml, typeof(HtmlReportFormatter), featuresReportHtml.Replace("~", AppDomainHelper.BaseDirectory)); }
public void It_should_not_allow_null_items() { var configuration = new ReportWritersConfiguration(); Assert.Throws <ArgumentNullException>(() => configuration.Add(null)); }
/// <summary> /// Adds <see cref="ReportFileWriter"/> instance configured to format report with <typeparamref name="TFormatter"/> and write it to <paramref name="outputPath"/>. /// </summary> /// <typeparam name="TFormatter">Type of report formatter.</typeparam> /// <param name="configuration">Configuration.</param> /// <param name="outputPath">Output path for the report.</param> /// <returns>Configuration.</returns> public static ReportWritersConfiguration AddFileWriter <TFormatter>(this ReportWritersConfiguration configuration, string outputPath) where TFormatter : IReportFormatter, new() { return(configuration.Add(new ReportFileWriter(new TFormatter(), outputPath))); }
/// <summary> /// Applies default report generators to generate <c>~\\Reports\\FeaturesReport.html</c>(Win) <c>~/Reports/FeaturesReport.html</c>(Unix) reports. /// </summary> public static ReportWritersConfiguration RegisterFrameworkDefaultReportWriters(this ReportWritersConfiguration configuration) { return(configuration.Add(new ReportFileWriter(new HtmlReportFormatter(), "~" + Path.DirectorySeparatorChar + "Reports" + Path.DirectorySeparatorChar + "FeaturesReport.html"))); }