PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
test_deviceWrappers.cpp File Reference

Unit tests for the ProfinetDevice wrapper methods. More...

#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <cstdint>
#include <memory>
#include <optional>
#include <ranges>
#include <string>
#include <utility>
#include <vector>
#include "mocks/mockAlarmListener.h"
#include "mocks/mockRPCCon.h"
#include "profinet/device.h"
#include "profinet/exceptions.h"
#include "profinet/indices.h"
+ Include dependency graph for test_deviceWrappers.cpp:

Go to the source code of this file.

Classes

class  profinet::device::ParseMacTests
 
class  profinet::device::DeviceInfoTests
 
class  profinet::device::ProfinetDeviceReadWriteTests
 
class  profinet::device::ProfinetDeviceImTests
 
class  profinet::device::ProfinetDeviceDiagnosisTests
 
class  profinet::device::ProfinetDeviceAlarmTests
 
class  profinet::device::ProfinetDeviceConnectionLifecycleTests
 
class  profinet::device::ProfinetDeviceAlarmListenerTests
 
class  profinet::device::ProfinetDeviceInfoTests
 
class  profinet::device::ProfinetDeviceStringTests
 

Namespaces

namespace  profinet
 
namespace  profinet::device
 

Functions

 profinet::device::TEST_F (ParseMacTests, ParsesColonSeparatedMac)
 
 profinet::device::TEST_F (ParseMacTests, ParsesDashSeparatedMac)
 
 profinet::device::TEST_F (ParseMacTests, ParsesDotSeparatedMac)
 
 profinet::device::TEST_F (ParseMacTests, RejectsInvalidMac)
 
 profinet::device::TEST_F (ParseMacTests, IsMacAddressAcceptsValidMac)
 
 profinet::device::TEST_F (ParseMacTests, IsMacAddressRejectsInvalidIdentifier)
 
 profinet::device::TEST_F (DeviceInfoTests, SerialNumberReturnsEmptyWhenIm0Missing)
 
 profinet::device::TEST_F (DeviceInfoTests, OrderIdReturnsEmptyWhenIm0Missing)
 
 profinet::device::TEST_F (DeviceInfoTests, HardwareRevisionReturnsZeroWhenIm0Missing)
 
 profinet::device::TEST_F (DeviceInfoTests, SoftwareRevisionReturnsEmptyWhenIm0Missing)
 
 profinet::device::TEST_F (ProfinetDeviceReadWriteTests, ReadReturnsRpcPayload)
 
 profinet::device::TEST_F (ProfinetDeviceReadWriteTests, WriteDelegatesArguments)
 
 profinet::device::TEST_F (ProfinetDeviceReadWriteTests, WriteMultipleMapsItems)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm0Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm1Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm2Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm3Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm4Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadIm5Delegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, ReadAllImDelegates)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm1BuildsPaddedBlock)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm1RejectsFunctionLongerThan32Characters)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm1RejectsLocationLongerThan22Characters)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm2BuildsPaddedBlock)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm2RejectsDateLongerThan16Characters)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm3BuildsPaddedBlock)
 
 profinet::device::TEST_F (ProfinetDeviceImTests, WriteIm3RejectsDescriptorLongerThan54Characters)
 
 profinet::device::TEST_F (ProfinetDeviceDiagnosisTests, ReadModuleDiffDelegates)
 
 profinet::device::TEST_F (ProfinetDeviceDiagnosisTests, ReadDiagnosisDelegatesArguments)
 
 profinet::device::TEST_F (ProfinetDeviceDiagnosisTests, ReadAllDiagnosisDelegates)
 
 profinet::device::TEST_F (ProfinetDeviceDiagnosisTests, DiscoverSlotsDelegates)
 
 profinet::device::TEST_F (ProfinetDeviceDiagnosisTests, ReadTopologyDelegates)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmTests, ReturnsNoneOnRpcError)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmTests, ReturnsNoneOnShortPayload)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmTests, ParsesAlarmPayload)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, ConnectSuccess)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, ConnectFailureIsWrapped)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, ConnectIsNoOpWhenAlreadyConnected)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, DisconnectClearsConnectionState)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, CloseClosesRpc)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, DISABLED_CloseStopsAlarmListener)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, ReleaseArClearsOnlyCurrentRpc)
 
 profinet::device::TEST_F (ProfinetDeviceConnectionLifecycleTests, ReleaseArSuppressesDisconnectErrors)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, RequiresConnection)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, RequiresAlarmCr)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, StartAndRunningProperty)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, OnAlarmForwardsToRunningListener)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, StopRemovesListener)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, RepeatedStartDoesNotDuplicateCallbackRegistration)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, CallbackAddedBeforeStartIsRegisteredOnce)
 
 profinet::device::TEST_F (ProfinetDeviceAlarmListenerTests, CallbackAddedWhileRunningIsForwardedOnce)
 
 profinet::device::TEST_F (ProfinetDeviceInfoTests, CollectsIm0)
 
 profinet::device::TEST_F (ProfinetDeviceInfoTests, Im0FailureIsTolerated)
 
 profinet::device::TEST_F (ProfinetDeviceInfoTests, IncludesTopologyWhenRequested)
 
 profinet::device::TEST_F (ProfinetDeviceInfoTests, DoesNotReadTopologyByDefault)
 
 profinet::device::TEST_F (ProfinetDeviceStringTests, ToStringShowsDisconnectedState)
 

Detailed Description

Unit tests for the ProfinetDevice wrapper methods.

Tests delegation of read/write operations, Identification & Maintenance (I&M) access, diagnosis and topology operations, alarm handling, connection lifecycle management, and alarm listener state guards.

The RPC layer is mocked so that the tests verify the behaviour of ProfinetDevice independently of the underlying PROFINET RPC transport.

Definition in file test_deviceWrappers.cpp.