| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- /*******************************************************************************
- * Copyright (c) 2017, Rockwell Automation, Inc.
- * All rights reserved.
- *
- ******************************************************************************/
- #include <CppUTest/TestHarness.h>
- #include <stdint.h>
- #include <string.h>
- extern "C" {
- #include "cipconnectionobject.h"
- }
- TEST_GROUP(CipConnectionObject) {
- };
- TEST(CipConnectionObject, StateNonExistent) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 0;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateNonExistent, state);
- }
- TEST(CipConnectionObject, StateConfiguring) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 1;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateConfiguring, state);
- }
- TEST(CipConnectionObject, StateWaitingForConnectionID) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 2;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateWaitingForConnectionID, state);
- }
- TEST(CipConnectionObject, StateEstablished) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 3;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateEstablished, state);
- }
- TEST(CipConnectionObject, StateTimedOut) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 4;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateTimedOut, state);
- }
- TEST(CipConnectionObject, StateDeferredDelete) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 5;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateDeferredDelete, state);
- }
- TEST(CipConnectionObject, StateClosing) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 6;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateClosing, state);
- }
- TEST(CipConnectionObject, StateInvalid) {
- CipConnectionObject connection_object = { 0 };
- connection_object.state = 7;
- ConnectionObjectState state = GetConnectionObjectState(&connection_object);
- CHECK_EQUAL(kConnectionObjectStateInvalid, state);
- }
- TEST(CipConnectionObject, InstanceTypeInvalid) {
- CipConnectionObject connection_object = { 0 };
- connection_object.instance_type = 4;
- ConnectionObjectInstanceType type = GetConnectionObjectInstanceType(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectInstanceTypeInvalid, type);
- }
- TEST(CipConnectionObject, InstanceTypeIExplicitMessaging) {
- CipConnectionObject connection_object = { 0 };
- connection_object.instance_type = 0;
- ConnectionObjectInstanceType type = GetConnectionObjectInstanceType(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectInstanceTypeExplicitMessaging, type);
- }
- TEST(CipConnectionObject, InstanceTypeIO) {
- CipConnectionObject connection_object = { 0 };
- connection_object.instance_type = 1;
- ConnectionObjectInstanceType type = GetConnectionObjectInstanceType(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectInstanceTypeIO, type);
- }
- TEST(CipConnectionObject, InstanceTypeCipBridged) {
- CipConnectionObject connection_object = { 0 };
- connection_object.instance_type = 2;
- ConnectionObjectInstanceType type = GetConnectionObjectInstanceType(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectInstanceTypeCipBridged, type);
- }
- TEST(CipConnectionObject, TransportClassTriggerDirectionServer) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 0x80;
- ConnectionObjectTransportClassTriggerDirection direction =
- GetConnectionObjectTransportClassTriggerDirection(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerDirectionServer, direction);
- }
- TEST(CipConnectionObject, TransportClassTriggerDirectionClient) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 0x00;
- ConnectionObjectTransportClassTriggerDirection direction =
- GetConnectionObjectTransportClassTriggerDirection(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerDirectionClient, direction);
- }
- TEST(CipConnectionObject, TransportClassTriggerProductionTriggerInvalid) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 3 << 4;
- ConnectionObjectTransportClassTriggerProductionTrigger production_trigger =
- GetConnectionObjectTransportClassTriggerProductionTrigger(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerProductionTriggerInvalid,
- production_trigger);
- }
- TEST(CipConnectionObject, TransportClassTriggerProductionTriggerCyclic) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 0x00;
- ConnectionObjectTransportClassTriggerProductionTrigger production_trigger =
- GetConnectionObjectTransportClassTriggerProductionTrigger(
- &connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerProductionTriggerCyclic,
- production_trigger);
- }
- TEST(CipConnectionObject,
- TransportClassTriggerProductionTriggerChangeOfState) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 1 << 4;
- ConnectionObjectTransportClassTriggerProductionTrigger production_trigger =
- GetConnectionObjectTransportClassTriggerProductionTrigger(
- &connection_object);
- CHECK_EQUAL(
- kConnectionObjectTransportClassTriggerProductionTriggerChangeOfState,
- production_trigger);
- }
- TEST(CipConnectionObject,
- TransportClassTriggerProductionTriggerApplicationObject) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 2 << 4;
- ConnectionObjectTransportClassTriggerProductionTrigger production_trigger =
- GetConnectionObjectTransportClassTriggerProductionTrigger(
- &connection_object);
- CHECK_EQUAL(
- kConnectionObjectTransportClassTriggerProductionTriggerApplicationObject,
- production_trigger);
- }
- TEST(CipConnectionObject, TransportClassTriggerClassInvalid) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 5;
- ConnectionObjectTransportClassTriggerTransportClass transport_class =
- GetConnectionObjectTransportClassTriggerTransportClass(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerTransportClassInvalid,
- transport_class);
- }
- TEST(CipConnectionObject, TransportClassTriggerClass0) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 0;
- ConnectionObjectTransportClassTriggerTransportClass transport_class =
- GetConnectionObjectTransportClassTriggerTransportClass(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerTransportClass0,
- transport_class);
- }
- TEST(CipConnectionObject, TransportClassTriggerClass1) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 1;
- ConnectionObjectTransportClassTriggerTransportClass transport_class =
- GetConnectionObjectTransportClassTriggerTransportClass(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerTransportClass1,
- transport_class);
- }
- TEST(CipConnectionObject, TransportClassTriggerClass2) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 2;
- ConnectionObjectTransportClassTriggerTransportClass transport_class =
- GetConnectionObjectTransportClassTriggerTransportClass(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerTransportClass2,
- transport_class);
- }
- TEST(CipConnectionObject, TransportClassTriggerClass3) {
- CipConnectionObject connection_object = { 0 };
- connection_object.transport_class_trigger = 3;
- ConnectionObjectTransportClassTriggerTransportClass transport_class =
- GetConnectionObjectTransportClassTriggerTransportClass(&connection_object);
- CHECK_EQUAL(kConnectionObjectTransportClassTriggerTransportClass3,
- transport_class);
- }
|