doc / ch.tutteli.atrium.reporting.text.impl / SingleAssertionGroupTypeFormatter


abstract class SingleAssertionGroupTypeFormatter<in T : AssertionGroupType> : AssertionFormatter (source)

A base type for AssertionFormatter which canFormat only AssertionGroups of one specific AssertionGroupType.


T - The AssertionGroupType which the concrete sub class canFormat.



SingleAssertionGroupTypeFormatter(clazz: KClass<T>)

A base type for AssertionFormatter which canFormat only AssertionGroups of one specific AssertionGroupType.



fun canFormat(assertion: Assertion): Boolean

Returns true if the given assertion is an AssertionGroup and its type is T or a sub type.


fun formatGroup(assertionGroup: AssertionGroup, parameterObject: AssertionFormatterParameterObject, formatAssertions: (AssertionFormatterParameterObject, (Assertion) -> Unit) -> Unit): Unit

Checks whether assertionGroup is T or a sub type and if so, calls formatGroupHeaderAndGetChildParameterObject and uses the resulting child-AssertionFormatterParameterObject to format AssertionGroup.assertions.


abstract fun formatGroupAssertions(formatAssertions: (AssertionFormatterParameterObject, (Assertion) -> Unit) -> Unit, childParameterObject: AssertionFormatterParameterObject): Unit

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


abstract fun formatGroupHeaderAndGetChildParameterObject(assertionGroup: AssertionGroup, parameterObject: AssertionFormatterParameterObject): AssertionFormatterParameterObject

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


fun formatNonGroup(assertion: Assertion, parameterObject: AssertionFormatterParameterObject): Nothing

Always throws an UnsupportedOperationException, because this AssertionFormatter can only format AssertionGroups.

Inherited Functions


open fun format(assertion: Assertion, parameterObject: AssertionFormatterParameterObject): Unit

Formats the given assertion and appends the result to the sb of the given parameterObject.



abstract class NoSpecialChildFormattingSingleAssertionGroupTypeFormatter<in T : AssertionGroupType> : SingleAssertionGroupTypeFormatter<T>

A base type for AssertionFormatter which canFormat only AssertionGroups of one specific AssertionGroupType and does nothing special when it comes to formatting AssertionGroup.assertions (merely delegates to assertionFormatterController).


class TextSummaryAssertionGroupFormatter : SingleAssertionGroupTypeFormatter<SummaryAssertionGroupType>, TextAssertionFormatter

Represents an AssertionFormatter which formats AssertionGroups with a SummaryAssertionGroupType by using the given assertionPairFormatter to format the group header and uses the bullet point defined for PrefixSuccessfulSummaryAssertion as prefix for successful AssertionGroup.assertions and the bullet point defined for PrefixFeatureAssertionGroupHeader as prefix for failing AssertionGroup.assertions.