1 #pragma once 2 3 #include "rapidcheck/detail/TestListener.h" 4 5 namespace rc { 6 namespace detail { 7 8 /// Listener which broadcasts to other listeners. 9 class MulticastTestListener : public TestListener { 10 public: 11 using Listeners = std::vector<std::unique_ptr<TestListener>>; 12 13 explicit MulticastTestListener(Listeners listeners); 14 void onTestCaseFinished(const CaseDescription &description) override; 15 void onShrinkTried(const CaseDescription &shrink, bool accepted) override; 16 void onTestFinished(const TestMetadata &metadata, 17 const TestResult &result) override; 18 19 private: 20 Listeners m_listeners; 21 }; 22 23 } // namespace detail 24 } // namespace rc 25