Files
UnrealEngine/Engine/Source/ThirdParty/FakeIt/2.0.2/include/fakeit/UsingProgress.hpp
2025-05-18 13:04:45 +08:00

42 lines
1.2 KiB
C++

//
// Created by eran on 01/04/2015.
//
#pragma once
#include "fakeit/FakeitContext.hpp"
#include "fakeit/SequenceVerificationProgress.hpp"
namespace fakeit {
class UsingProgress {
fakeit::FakeitContext &_fakeit;
InvocationsSourceProxy _sources;
void collectSequences(std::vector<fakeit::Sequence *> &) {
}
template<typename ... list>
void collectSequences(std::vector<fakeit::Sequence *> &vec, const fakeit::Sequence &sequence,
const list &... tail) {
vec.push_back(&const_cast<fakeit::Sequence &>(sequence));
collectSequences(vec, tail...);
}
public:
UsingProgress(fakeit::FakeitContext &fakeit, InvocationsSourceProxy source) :
_fakeit(fakeit),
_sources(source) {
}
template<typename ... list>
SequenceVerificationProgress Verify(const fakeit::Sequence &sequence, const list &... tail) {
std::vector<fakeit::Sequence *> allSequences;
collectSequences(allSequences, sequence, tail...);
SequenceVerificationProgress progress(_fakeit, _sources, allSequences);
return progress;
}
};
}