BareGit
#pragma once

#include "probe.h"

/// Test probe that returns a configured result after a delay.
class FakeProbe final : public ProbeInterface
{
public:
    /// Configure the result and the delay before returning it.
    FakeProbe(ProbeResult result, std::chrono::steady_clock::duration delay);

    /// Sleep for the configured delay and return the supplied result.
    mw::E<ProbeResult> probe() override;

private:
    ProbeResult result;
    std::chrono::steady_clock::duration delay;
};