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
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
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
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
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
PerformancePhase
Corresponds to the PerformancePhase to which the current reportable is part.
public string PerformancePhase { get; set; }
Property Value
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
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
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