PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
mockCyclicController.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <gmock/gmock.h>
13
14#include "profinet/cyclic.h"
15
16namespace profinet::cyclic
17{
18
25{
26 public:
29
31 ~MockCyclicController() override = default;
32
34 MOCK_METHOD(void, Start, (std::unique_ptr<IRawEthernetSocket>, std::unique_ptr<IRawEthernetSocket>), (override));
35
37 MOCK_METHOD(void, Stop, (), (override));
38
40 MOCK_METHOD(bool, IsRunning, (), (const, override));
41
43 MOCK_METHOD(CyclicState, State, (), (const, override));
44
46 MOCK_METHOD(void, SetOutputData, (int, int, const Bytes&), (override));
47
49 MOCK_METHOD(Bytes, GetOutputData, (int, int), (const, override));
50
52 MOCK_METHOD(std::optional<Bytes>, GetInputData, (int, int, bool), (const, override));
53};
54
55} // namespace profinet::cyclic
Abstract interface for controlling cyclic PROFINET communication.
Definition cyclic.h:172
virtual Bytes GetOutputData(int slot, int subslot) const =0
Read the currently configured output data for one slot/subslot.
virtual CyclicState State() const =0
The controller's current lifecycle state.
virtual void Stop()=0
Stops cyclic PROFINET communication.
virtual std::optional< Bytes > GetInputData(int slot, int subslot, bool allowBad=false) const =0
Get the latest valid input process data.
virtual void SetOutputData(int slot, int subslot, const Bytes &data)=0
Set complete process output data for one slot/subslot.
virtual bool IsRunning() const =0
Whether the controller is actively exchanging cyclic data.
Google Mock implementation of ICyclicController.
MOCK_METHOD(std::optional< Bytes >, GetInputData,(int, int, bool),(const, override))
Mocks the State() retrieval functionality.
MOCK_METHOD(bool, IsRunning,(),(const, override))
Mocks the IsRunning() check.
MOCK_METHOD(void, SetOutputData,(int, int, const Bytes &),(override))
Mocks the State() retrieval functionality.
MOCK_METHOD(CyclicState, State,(),(const, override))
Mocks the State() retrieval functionality.
MOCK_METHOD(Bytes, GetOutputData,(int, int),(const, override))
Mocks the State() retrieval functionality.
MockCyclicController()=default
Constructs a mock cyclic controller.
MOCK_METHOD(void, Stop,(),(override))
Mocks the Stop() operation.
MOCK_METHOD(void, Start,(std::unique_ptr< IRawEthernetSocket >, std::unique_ptr< IRawEthernetSocket >),(override))
Mocks the Start() operation.
~MockCyclicController() override=default
Destroys the mock cyclic controller.
Declares the PROFINET RTC1 cyclic IO controller and process-data exchange API.
CyclicState
Lifecycle state of a CyclicController.
Definition cyclic.h:41
std::vector< std::uint8_t > Bytes
Generic byte buffer alias used throughout the library for raw wire data.
Definition protocol.h:55