DP3
MockStep.h
Go to the documentation of this file.
1 // Copyright (C) 2022 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DP3_STEPS_TEST_UNIT_MOCKSTEP_H_
5 #define DP3_STEPS_TEST_UNIT_MOCKSTEP_H_
6 
7 #include <functional>
8 #include <vector>
9 
10 #include "ThrowStep.h"
11 
12 namespace dp3 {
13 namespace steps {
14 
15 class MockStep : public test::ThrowStep {
16  public:
17  MockStep() : bda_buffers_(), regular_buffers_(), finish_count_(0) {}
18 
19  ~MockStep() override {}
20 
26  bool process(std::unique_ptr<base::DPBuffer> buffer) override {
27  regular_buffers_.push_back(std::move(buffer));
28  return true;
29  }
30 
36  bool process(std::unique_ptr<base::BdaBuffer> buffer) override {
37  bda_buffers_.push_back(std::move(buffer));
38  return true;
39  }
40 
45  void finish() override { ++finish_count_; }
46 
47  const std::vector<std::unique_ptr<base::BdaBuffer>>& GetBdaBuffers() const {
48  return bda_buffers_;
49  }
50 
51  const std::vector<std::unique_ptr<base::DPBuffer>>& GetRegularBuffers()
52  const {
53  return regular_buffers_;
54  }
55 
56  void ClearBdaBuffers() { bda_buffers_.clear(); }
57 
58  std::size_t FinishCount() const { return finish_count_; };
59 
60  std::size_t TotalRowCount() const;
61 
62  private:
63  std::vector<std::unique_ptr<base::BdaBuffer>> bda_buffers_;
64  std::vector<std::unique_ptr<base::DPBuffer>> regular_buffers_;
65  std::size_t finish_count_;
66 };
67 
68 } // namespace steps
69 } // namespace dp3
70 
71 #endif
Definition: MockStep.h:15
void finish() override
Definition: MockStep.h:45
~MockStep() override
Definition: MockStep.h:19
const std::vector< std::unique_ptr< base::BdaBuffer > > & GetBdaBuffers() const
Definition: MockStep.h:47
bool process(std::unique_ptr< base::DPBuffer > buffer) override
Definition: MockStep.h:26
bool process(std::unique_ptr< base::BdaBuffer > buffer) override
Definition: MockStep.h:36
const std::vector< std::unique_ptr< base::DPBuffer > > & GetRegularBuffers() const
Definition: MockStep.h:51
std::size_t TotalRowCount() const
MockStep()
Definition: MockStep.h:17
void ClearBdaBuffers()
Definition: MockStep.h:56
std::size_t FinishCount() const
Definition: MockStep.h:58
Definition: ThrowStep.h:17
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53