Table of Contents

Namespace CSF.Screenplay.Reporting

Classes

FormattableFormatter

Implementation of IValueFormatter which formats objects that implement IFormattableValue.

HumanizerFormatter

A formatter which makes use of the Humanizer: https://github.com/Humanizr/Humanizer library to format a limited number of value types.

JsonScreenplayReportReader

Implementation of IDeserializesReport that deserializes a Screenplay report from a JSON stream.

JsonScreenplayReporter

An object which subscribes/listens to the events of IHasPerformanceEvents and which produces a JSON-formatted report from them.

NameAndValue

A simple model for a value that is to be included in a formatted ReportFragment, which has an associated name.

NameFormatter

Implementation of IValueFormatter which formats objects that implement IHasName.

NoOpReporter

A no-op implementation of IReporter which does nothing.

PerformanceReportBuilder

Builder for an instance of PerformanceReport.

ReportFormat

Model used for creating a ReportFragment, which includes the original report fragment template string, a reworked template string suitable for use with Format(string, params object[]) and the placeholder values to be inserted into that format.

ReportFormatCreator

Default implementation of IGetsReportFormat.

ScreenplayReportBuilder

Builder type accumulates PerformanceReportBuilder as performances occur within the Screenplay.

ToStringFormatter

Implementation of IValueFormatter which formats any object by using its default ToString() method, or returns the string <null> if the value is null.

ValueFormatterExtensions

Extension methods for IGetsValueFormatter.

ValueFormatterProvider

Implementation of IGetsValueFormatter which uses dependency injection services.

ValueFormatterRegistry

Default implementation of IFormatterRegistry which also serves as an object factory, by virtue of a service provider.

WritePermissionTester

Helper class to determine whether or not we have write permission to a specified file path.

Interfaces

IDeserializesReport

An object which deserializes a Screenplay report from a stream.

IFormattableValue

An object which has its own functionality for generating a human-readable representation of itself for a Screenplay report.

IFormatterRegistry

A registry of the concrete types of IValueFormatter which are available for use by the Screenplay reporting functionality.

IGetsReportFormat

An object which can get a ReportFormat from a report format template and the associated values.

IGetsValueFormatter

An object which can select the most appropriate implementation of IValueFormatter from a IFormatterRegistry.

IReporter

Defines a reporter that subscribes to and processes events from a Screenplay event notifier.

ITestsPathForWritePermissions

An object which may test a file system path for writability.

IValueFormatter

An object which can format a value which appears within a Screenplay report.