Mock delay policy for testing.
Mock delay policy for testing.Tracks delay calls without actually blocking execution. Useful for verifying timing behavior in tests without waiting.
MockDelay::reset();
MockDelay::delay_ms(100);
MockDelay::delay_ms(50);
assert(MockDelay::total_delay_ms() == 150);
assert(MockDelay::delay_count() == 2);
#pragma once
#include <cstddef>
#include <cstdint>
class MockDelay {
public:
static auto delay_ms(std::uint32_t ms) ->
void {
total_delay_ms_ += ms;
delay_count_++;
}
[[nodiscard]]
static auto total_delay_ms() -> std::uint32_t {
return total_delay_ms_; }
[[nodiscard]]
static auto delay_count() -> std::size_t {
return delay_count_; }
static auto reset() ->
void {
total_delay_ms_ = 0;
delay_count_ = 0;
}
private:
inline static std::uint32_t total_delay_ms_ = 0;
inline static std::size_t delay_count_ = 0;
};
}
static auto total_delay_ms() -> std::uint32_t
Get total accumulated delay time.
Definition mock_delay.hpp:39
static auto reset() -> void
Reset delay tracking for new test.
Definition mock_delay.hpp:50
static auto delay_ms(std::uint32_t ms) -> void
Mock millisecond delay (records but doesn't block).
Definition mock_delay.hpp:30
static auto delay_count() -> std::size_t
Get total number of delay calls.
Definition mock_delay.hpp:45