Table of Contents

Class PerformableReport

Namespace
CSF.Screenplay.ReportModel
Assembly
CSF.Screenplay.dll

An implementation of ReportableModelBase which represents the execution of a performable item.

public class PerformableReport : ReportableModelBase
Inheritance
PerformableReport
Inherited Members

Remarks

Reports about performables may themselves contain further reportables. This may create a hierarchical structure of reports which contain further reports, and so on. This represents the use of high-level performables which consume/compose lower-level performables.

Properties

Assets

Gets or sets a collection of the assets which were recorded by the current performable.

public List<PerformableAsset> Assets { get; set; }

Property Value

List<PerformableAsset>

Exception

Gets or sets a value which is the string representation of any Exception which occurred, causing the performable to fail.

public string Exception { get; set; }

Property Value

string

Remarks

If this property is non-null then the performable has failed with an exception, and this property will contain the result of ToString() for that error.

If this property is null then the performable did not raise an exception and completed successfully.

ExceptionIsFromConsumedPerformable

Gets a value which indicates whether or not the Exception is one which was originally thrown from a consumed performable.

public bool ExceptionIsFromConsumedPerformable { get; set; }

Property Value

bool

Remarks

If Exception is null then the value of this property is meaningless and undefined. If the exception is not null then - if this property is set to true then it means that exception which is recorded for this performable was originally thrown from a performable which was consumed by the current one. In other words, it indicates whether or not the reason for the current performable's error was because a consumed/child performable encountered an error.

If, on the other hand, Exception is not null and this property value is false then it indicates that the current performable is the original source of the error.

HasResult

Gets or sets a value that indicates whether or not the performable (which generated this report) emitted a result.

public bool HasResult { get; set; }

Property Value

bool

Remarks

This property will be true if the original performable which lead to this report derived from either IPerformableWithResult or IPerformableWithResult<TResult> (and did not fail). For performables which do not emit a result, this value will always be false.

See Also

PerformableType

Gets or sets the FullName of the performable item to which this report model relates.

public string PerformableType { get; set; }

Property Value

string

PerformancePhase

Corresponds to the PerformancePhase to which the current reportable is part.

public string PerformancePhase { get; set; }

Property Value

string

Remarks

This property contains the string representation of that performance phase. It is quite rare for this property to be unset (IE: null), typically it is only unset for the initial creation/setup of Actors at the beginning of a performance.

Reportables

Gets or sets a collection of the reportable items which have been composed by the current performable.

public List<ReportableModelBase> Reportables { get; set; }

Property Value

List<ReportableModelBase>

Remarks

This collection is commonly populated for task performables, because the nature of tasks is to consume and compose other performables. This collection can create a hierarchical structure of performables composing other performables. That structure could be deeply nested.

Result

Gets or sets a string representation of the result which was emitted by the corresponding performable.

public string Result { get; set; }

Property Value

string

Remarks

This property is only relevant if the original performable which lead to this report derived from either IPerformableWithResult or IPerformableWithResult<TResult>. For performables which do not emit a result, this value will always be null.

See Also