#pragma once #include "util/MockOperation.hpp" #include "util/MockStopToken.hpp" #include "util/MockStrand.hpp" #include "util/async/AnyStopToken.hpp" #include "util/async/Error.hpp" #include #include #include #include #include #include struct MockExecutionContext { template using ValueType = std::expected; using StopSource = MockStopSource; using StopToken = MockStopToken; using Strand = MockStrand; template using Operation = MockOperation; template using StoppableOperation = MockStoppableOperation; template using ScheduledOperation = MockScheduledOperation; template using RepeatingOperation = MockRepeatingOperation; MOCK_METHOD(Operation const&, execute, (std::function), ()); MOCK_METHOD( Operation const&, execute, (std::function, std::optional), () ); MOCK_METHOD( StoppableOperation const&, execute, (std::function, std::optional), () ); MOCK_METHOD( ScheduledOperation const&, scheduleAfter, (std::chrono::milliseconds, std::function), () ); MOCK_METHOD( ScheduledOperation const&, scheduleAfter, (std::chrono::milliseconds, std::function), () ); MOCK_METHOD( RepeatingOperation const&, executeRepeatedly, (std::chrono::milliseconds, std::function), () ); MOCK_METHOD(void, submit, (std::function), ()); MOCK_METHOD(MockStrand const&, makeStrand, (), ()); MOCK_METHOD(void, stop, (), (const)); MOCK_METHOD(void, join, (), ()); };