1*b3e03d2dSMichal Orzel #pragma once
2*b3e03d2dSMichal Orzel 
3*b3e03d2dSMichal Orzel #include <iostream>
4*b3e03d2dSMichal Orzel #include <vector>
5*b3e03d2dSMichal Orzel 
6*b3e03d2dSMichal Orzel #include <gmock/gmock.h>
7*b3e03d2dSMichal Orzel 
8*b3e03d2dSMichal Orzel template <class Param>
PrintTo(const std::vector<Param> & vec,std::ostream * os)9*b3e03d2dSMichal Orzel void PrintTo(const std::vector<Param>& vec, std::ostream* os)
10*b3e03d2dSMichal Orzel {
11*b3e03d2dSMichal Orzel     *os << "[ ";
12*b3e03d2dSMichal Orzel     bool first = true;
13*b3e03d2dSMichal Orzel     for (const auto& item : vec)
14*b3e03d2dSMichal Orzel     {
15*b3e03d2dSMichal Orzel         if (!first)
16*b3e03d2dSMichal Orzel         {
17*b3e03d2dSMichal Orzel             *os << ", ";
18*b3e03d2dSMichal Orzel         }
19*b3e03d2dSMichal Orzel         PrintTo(item, os);
20*b3e03d2dSMichal Orzel         first = false;
21*b3e03d2dSMichal Orzel     }
22*b3e03d2dSMichal Orzel     *os << " ]";
23*b3e03d2dSMichal Orzel }
24