[#BloombergLP-bdlmt-TimerEventSchedulerTestTimeSource] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::TimerEventSchedulerTestTimeSource :relfileprefix: ../../ :mrdocs: This class provides a means to change the clock that is used by a given event‐scheduler to determine when events should be triggered. Constructing a `TimerEventSchedulerTestTimeSource` alters the behavior of the supplied event‐scheduler. After a test time‐source is created, the underlying scheduler will run events according to a discrete timeline, whose successive values are determined by calls to `advanceTime` on the test time‐source, and can be retrieved by calling `now` on that test time‐source. Note that the "system‐time" held by a test time‐source _does_ _not_ correspond to the current system time. Test writers must use caution when scheduling absolute‐time events so that they are scheduled relative to the test time‐source's value for `now`. == Synopsis Declared in `<bdlmt_timereventscheduler.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class TimerEventSchedulerTestTimeSource; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlmt/TimerEventSchedulerTestTimeSource/2constructor.adoc[`TimerEventSchedulerTestTimeSource`] [.small]#[constructor]# | Construct a test time‐source object that will control the "system‐time" observed by the specified `scheduler`. Initialize `now` to be an arbitrary time value. The behavior is undefined if any methods have previously been called on `scheduler`. | xref:BloombergLP/bdlmt/TimerEventSchedulerTestTimeSource/advanceTime.adoc[`advanceTime`] | Advance this object's current‐time value by the specified `amount` of time, and notify the scheduler that the time has changed. Return the updated current‐time value. The behavior is undefined unless `amount` represents a positive time interval, and `now + amount` is within the range that can be represented with a `bsls::TimeInterval`. | xref:BloombergLP/bdlmt/TimerEventSchedulerTestTimeSource/now.adoc[`now`] | Return this object's current‐time value. Upon construction, this method will return an arbitrary value. Subsequent calls to `advanceTime` will adjust the arbitrary value forward. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#