/******************************************************************************* * Copyright (c) 2009, Rockwell Automation, Inc. * All rights reserved. * ******************************************************************************/ #include #include #include extern "C" { #include "cipepath.h" } TEST_GROUP(CipEpath) { }; /** Segment type tests **/ TEST(CipEpath, GetSegmentTypePortSegment) { const char message[] = {0x00}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypePortSegment, segment_type); } TEST(CipEpath, GetSegmentTypeLogicalSegment) { const char message[] = {0x20}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeLogicalSegment, segment_type); } TEST(CipEpath, GetSegmentTypeNetworkSegment) { const char message[] = {0x40}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeNetworkSegment, segment_type); } TEST(CipEpath, GetSegmentTypeSymbolicSegment) { const char message[] = {0x60}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeSymbolicSegment, segment_type); } TEST(CipEpath, GetSegmentTypeDataSegment) { const char message[] = {0x80}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeDataSegment, segment_type); } TEST(CipEpath, GetSegmentTypeDataTypeConstructed) { const char message[] = {0xA0}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeDataTypeConstructed, segment_type); } TEST(CipEpath, GetSegmentTypeDataTypeElementary) { const char message[] = {0xC0}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeDataTypeElementary, segment_type); } TEST(CipEpath, GetSegmentTypeReserved) { const char message[] = {0xE0}; SegmentType segment_type = GetPathSegmentType(message); CHECK_EQUAL(kSegmentTypeReserved, segment_type); } /** Port segment tests **/ TEST(CipEpath, GetPortSegmentExtendedAddressSizeTrue) { const char message[] = {0x10}; bool extended_address = GetPathPortSegmentExtendedLinkAddressSizeBit(message); CHECK_EQUAL(true, extended_address); } TEST(CipEpath, GetPortSegmentExtendedAddressSizeFalse) { const char message[] = {0x00}; bool extended_address = GetPathPortSegmentExtendedLinkAddressSizeBit(message); CHECK_EQUAL(false, extended_address); } TEST(CipEpath, GetPortSegmentPortIdentifier) { const char message[] = {0x0F}; unsigned int port = GetPathPortSegmentPortIdentifier(message); unsigned int mes = (unsigned int)(message[0]); CHECK_EQUAL(15, mes); } TEST(CipEpath, SetPortSegmentPortIdentifier) { char message[] = {0x00}; SetPathPortSegmentPortIdentifier(15, message); CHECK_EQUAL(15, (unsigned int)(message[0])); }