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.

Synopsis

Declared in <ball_testobserver.h>

class TestObserver
    : public Observer

Description

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

Name

Description

Observer

This class provides a protocol for receiving and processing log record output.

Member Functions

Name

Description

TestObserver [constructor]

Constructors

~TestObserver [destructor] [virtual]

Destroy this test observer.

id

Return the unique (per process) integer identifier of this test observer.

lastPublishedContext

Return a reference to the context most recently published by this test observer. The behavior is undefined unless publish has been called at least once, and no other thread is manipulating this object concurrently (i.e., this function is not thread safe).

lastPublishedRecord

Return a reference to the record most recently published by this test observer. The behavior is undefined unless publish has been called at least once, and no other thread is manipulating this object concurrently (i.e., this function is not thread safe).

numPublishedRecords

Return the total number of records that this test observer has published.

numReleases

Return the total number of times that releaseRecords has been called on this test observer.

publish

Store the most recently published log record and context.

releaseRecords [virtual]

Discard any shared reference to a Record object that was supplied to the publish method, and is held by this observer. Note that this operation should be called if resources underlying the previously provided shared‐pointers must be released.

setVerbose

Set the internal verbose mode of this test observer to the specified (boolean) flagValue. The default mode is not verbose. If flagValue is non‐zero, calls to publish will print appropriate diagnostics to the bsl::ostream associated with this test observer. This printing is suppressed if flagValue is 0.

operator BloombergLP::bslmf::NestedTraitDeclaration<TestObserver, UsesBslmaAllocator>

Declare that this type uses a bslma allocator.

Static Member Functions

Name

Description

numInstances

Return the total number of instances of this class that have been created since this process has begun.

Created with MrDocs