atrium-core-impl-robstoll-lib / ch.tutteli.atrium.reporting / TextExplanatoryAssertionGroupFormatter

TextExplanatoryAssertionGroupFormatter

class TextExplanatoryAssertionGroupFormatter : NoSpecialChildFormattingSingleAssertionGroupTypeFormatter<ExplanatoryAssertionGroupType>

Represents an AssertionFormatter which formats AssertionGroups with an ExplanatoryAssertionGroupType by neglecting the group header and defining an child-AssertionFormatterMethodObject which indicates that we are in an explanatory assertion.

Furthermore it uses the bullet point defined for WarningAssertionGroupType in bulletPoints (see constructor) ("❗❗ " if absent) as prefix for the child-AssertionFormatterMethodObject if the AssertionGroup.type is a WarningAssertionGroupType. Otherwise it is using the bullet point defined for ExplanatoryAssertionGroupType ("» " if absent).

Its usage is intended for text output (e.g. to the console).

Constructors

<init>

TextExplanatoryAssertionGroupFormatter(bulletPoints: Map<Class<out BulletPointIdentifier>, String>, assertionFormatterController: AssertionFormatterController)

Represents an AssertionFormatter which formats AssertionGroups with an ExplanatoryAssertionGroupType by defining only an AssertionFormatterMethodObject -- which indicates that we are in an explanatory assertion group and uses the bulletPoints (passed as argument) as prefix -- and completely ignoring AssertionGroup.name and AssertionGroup.subject.

Functions

formatGroupHeaderAndGetChildMethodObject

fun formatGroupHeaderAndGetChildMethodObject(assertionGroup: AssertionGroup, methodObject: AssertionFormatterMethodObject): AssertionFormatterMethodObject

Formats the group header of the given assertionGroup (with type T) -- appends the result to the sb of the given methodObject -- and returns the AssertionFormatterMethodObject which shall be used for the AssertionGroup.assertions.

Inherited Functions

formatGroupAssertions

open fun formatGroupAssertions(formatAssertions: (AssertionFormatterMethodObject, (Assertion) -> Unit) -> Unit, childMethodObject: AssertionFormatterMethodObject): Unit

Formats the AssertionGroup.assertions -- has to call the given formatAssertions function in order that the AssertionFormatterController can steer the process.