[#BloombergLP-ball-TestObserver] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::TestObserver :relfileprefix: ../../ :mrdocs: This class provides an instrumented implementation of the `Observer` protocol suitable for testing. == Synopsis Declared in `<ball_testobserver.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class TestObserver : public xref:BloombergLP/ball/Observer.adoc[Observer] ---- == Description This class provides an instrumented implementation of the `Observer` protocol suitable for testing systems that use `Observer`. Each instance receives a unique (per process) integer identifier at construction, and keeps count of the number of records that it has published, as well as the contents of the most recently published record and context. By default, the `publish` method prints no diagnostic information to the `bsl::ostream` supplied at construction. This diagnostic information can be enabled by a call to `setVerbose` with a non‐zero argument. A subsequent call to `setVerbose` with a zero argument will restore the default behavior of `publish`. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/ball/Observer.adoc[Observer]` | This class provides a protocol for receiving and processing log record output. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/TestObserver/2constructor-02.adoc[`TestObserver`] [.small]#[constructor]# | Create a test observer writing to the specified `stream`. | xref:BloombergLP/ball/TestObserver/2destructor.adoc[`~TestObserver`] [.small]#[destructor]# [.small]#[virtual]# | Destroy this test observer. | xref:BloombergLP/ball/TestObserver/id.adoc[`id`] | Return the unique (per process) integer identifier of this test observer. | xref:BloombergLP/ball/TestObserver/lastPublishedContext.adoc[`lastPublishedContext`] | Return a reference to the context most recently published by this test observer. | xref:BloombergLP/ball/TestObserver/lastPublishedRecord.adoc[`lastPublishedRecord`] | Return a reference to the record most recently published by this test observer. | xref:BloombergLP/ball/TestObserver/numPublishedRecords.adoc[`numPublishedRecords`] | Return the total number of records that this test observer has published. | xref:BloombergLP/ball/TestObserver/numReleases.adoc[`numReleases`] | Return the total number of times that `releaseRecords` has been called on this test observer. | xref:BloombergLP/ball/TestObserver/publish-0b.adoc[`publish`] | Store the most recently published log `record` and `context`. | xref:BloombergLP/ball/TestObserver/releaseRecords.adoc[`releaseRecords`] [.small]#[virtual]# | Discard any shared reference to a `Record` object held by this observer. | xref:BloombergLP/ball/TestObserver/setVerbose.adoc[`setVerbose`] | Set the internal verbose mode of this test observer to the specified `flagValue`. | xref:BloombergLP/ball/TestObserver/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<TestObserver, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/TestObserver/numInstances.adoc[`numInstances`] | Return the total number of instances of this class that have been created since this process has begun. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#