libepaper 2.0.0
A C++23 library for controlling Waveshare e-paper displays on Raspberry Pi, featuring transparent sleep/wake management and a fluent builder API.
Loading...
Searching...
No Matches
/mnt/nas/libepaper/include/epaper/hal/mock_delay.hpp

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>
namespace epaper::hal {
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;
};
} // namespace epaper::hal
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
Definition gpio.hpp:62