Commit 425d5627 authored by garciay's avatar garciay
Browse files

Add TTCN-3 tests for CAM codec

parent 7dc71e3b
Loading
Loading
Loading
Loading
+50 −7
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ module TestCodec_GeoNetworking {
            
        } // End of group LibItsGeoNetworking_DummyTemplates
        
        group testGeoNetPrimitiveMessages {
        group testGeoNetMessages {
            
            /**
             * @desc validate GeoNetworkingReq/Broadcast
@@ -190,7 +190,6 @@ module TestCodec_GeoNetworking {
             */
            testcase tc_GeoNetReq_BroadcastPacket() runs on TCType system TCType {
                var GeoNetworkingReq v_gnReq;
                var ExtendedHeader v_header;
                var octetstring v_buffer := '01002B0A00418000000F0A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D2162E23A3000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump
                
                if (PX_GN_UPPER_LAYER != e_any) {
@@ -207,20 +206,64 @@ module TestCodec_GeoNetworking {
                ))));
                TestGeoNetworkingReq(
                    v_gnReq, 
                    false, 
                    true, 
                    oct2bit(v_buffer));
                v_gnReq.msgOut.gnPacket.packet.commonHeader.plLength := 15;
                TestDecodeGeoNetworkingReq(
                    v_gnReq, 
                    v_buffer
                );
                
            }
            
        } // End of group testGeoNetMessages 
        
        group testGeoNetPort {
            
            /**
             * @desc validate GeoNetworkingReq/Broadcast
             * @verdict Pass on success, Fail otherwise
             */
            testcase tc_GeoNet_Port() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
                var GeoNetworkingReq v_gnReq;
                var ExtendedHeader v_header;
                var octetstring v_buffer := '01002B0A00418000000F0A000D800000A832A40102030405000011E90000007E0000007B002D007D00048D8800007FE904D2162E23A3000044454641554C545F5041594C4F4144FFFFFFFFFFFF'O; // Check for 'LibItsIPv6GeoNetworking_TypesAndValues.encode:' output in codec traces to get the dump
                
                if (PX_GN_UPPER_LAYER != e_any) {
                    log("PX_GN_UPPER_LAYER shall be set to e_any");
                    stop;
                }
                
                map(self:geoNetworkingPort, system:geoNetworkingPort);
                
                v_gnReq := valueof(m_geoNwReq_linkLayerBroadcast(
                    m_geoNwPdu(
                        m_geoNwBroadcastPacket(
                            m_dummyLongPosVectorNodeB, 
                            3456, 
                            m_dummyGeoBroadcastArea1
                ))));
                
                geoNetworkingPort.send(v_gnReq);
                tc_ac.start;
                alt {
                    [] geoNetworkingPort.receive(mw_geoNwInd(?)) {
                        setverdict(pass);
                    }
                    [] tc_ac.timeout {
                        setverdict(fail, "Expected message not received1");
                    }
                }
                
                unmap(self:geoNetworkingPort, system:geoNetworkingPort);
                
            }
            
        } // End of group testGeoNetPrimitiveMessages 
        } // End of group testGeoNetPort 
        
    } // End of group LibItsGeoNetworking_testCases
    
    group decoding_functions {
    group encdec_functions {
        
        function TestGeoNetworkingReq(
            in template (value) GeoNetworkingReq p_geoNetworkingReq,
@@ -329,6 +372,6 @@ module TestCodec_GeoNetworking {
            
        }// End of function TestDecodeGeoNetworkingReq
        
      } // End of group decoding_functions 
      } // End of group encdec_functions 
      
} // End of module 
 No newline at end of file