module TestCodec_External { // LibMec import from LocationAPI_TypesAndValues all; import from LocationAPI_Templates all; import from UEidentityAPI_TypesAndValues all; import from UEidentityAPI_Templates all; // TestCodec import from TestCodec_TestAndSystem all; testcase tc_encode_LocationInfo() runs on TCType system TCType { var LocationInfo v_location_info := valueof(m_location_info(10.0, 12.0, 9)); var LocationInfo v_location_info_result; var universal charstring v_expected_result := "{\"latitude\":10.000000,\"longitude\":12.000000,\"accuracy\":9}"; var universal charstring v_enc_msg; var integer v_res; v_enc_msg := encvalue_unichar(v_location_info); log("v_enc_msg= ", v_enc_msg); if (match(v_expected_result, v_enc_msg)) { setverdict(pass, "Encoding succeed"); } else { setverdict(fail, "Encoding failed"); } v_res := decvalue_unichar(v_enc_msg, v_location_info_result); if (v_res == 0) { log("v_location_info_result= ", v_location_info_result); if (match(v_location_info, v_location_info_result)) { setverdict(pass, "Decoding succeed"); } else { setverdict(fail, "Decoding failed"); } } else { setverdict(fail, "Decoding operation failed"); } } // End of testcase tc_encode_LocationInfo testcase tc_encode_UserInfo() runs on TCType system TCType { var UserInfo v_location_info := valueof(m_user_info("acr:10.0.0.1", "001010000000000000000000000000001", "zone01", "http://example.com/exampleAPI/location/v2/users?address=acr%3A10.0.0.1", TimeStamp:{ 1483231138, 0 })); var UserInfo v_location_info_result; var universal charstring v_expected_result := "{\"address\":\"acr:10.0.0.1\",\"accessPointId\":\"001010000000000000000000000000001\",\"zoneId\":\"zone01\",\"resourceURL\":\"http://example.com/exampleAPI/location/v2/users?address=acr%3A10.0.0.1\",\"timeStamp\":{\"seconds\":1483231138,\"nanoSeconds\":0}}"; var universal charstring v_enc_msg; var integer v_res; v_enc_msg := encvalue_unichar(v_location_info); log("v_enc_msg= ", v_enc_msg); if (match(v_expected_result, v_enc_msg)) { setverdict(pass, "Encoding succeed"); } else { setverdict(fail, "Encoding failed"); } v_res := decvalue_unichar(v_enc_msg, v_location_info_result); if (v_res == 0) { log("v_location_info_result= ", v_location_info_result); if (match(v_location_info, v_location_info_result)) { setverdict(pass, "Decoding succeed"); } else { setverdict(fail, "Decoding failed"); } } else { setverdict(fail, "Decoding operation failed"); } } // End of testcase tc_encode_UserInfo testcase tc_encode_UeIdentityTags() runs on TCType system TCType { var UeIdentityTagInfo v_ue_identity_tags_info := valueof(m_ue_identity_tag_info({ m_ue_identity_tag_item("UeTagA", REGISTERED) } )); var UeIdentityTagInfo v_ue_identity_tags_info_result; var universal charstring v_expected_result := "{\"ueIdentityTags\":[{\"ueIdentityTag\":\"UeTagA\",\"state\":\"REGISTERED\"}]}"; var universal charstring v_enc_msg; var integer v_res; v_enc_msg := encvalue_unichar(v_ue_identity_tags_info); log("v_enc_msg= ", v_enc_msg); if (match(v_expected_result, v_enc_msg)) { setverdict(pass, "Encoding succeed"); } else { setverdict(fail, "Encoding failed"); } v_res := decvalue_unichar(v_enc_msg, v_ue_identity_tags_info_result); if (v_res == 0) { log("v_ue_identity_tags_info_result= ", v_ue_identity_tags_info_result); if (match(v_ue_identity_tags_info, v_ue_identity_tags_info_result)) { setverdict(pass, "Decoding succeed"); } else { setverdict(fail, "Decoding failed"); } } else { setverdict(fail, "Decoding operation failed"); } v_enc_msg := "{\"ueIdentityTags\": [{ \"ueIdentityTag\": \"UeTagA\",\t\"state\": \"REGISTERED\"}]}"; v_res := decvalue_unichar(v_enc_msg, v_ue_identity_tags_info_result); if (v_res == 0) { log("v_ue_identity_tags_info_result (1)= ", v_ue_identity_tags_info_result); if (match(v_ue_identity_tags_info, v_ue_identity_tags_info_result)) { setverdict(pass, "Decoding succeed (1)"); } else { setverdict(fail, "Decoding failed (1)"); } } else { setverdict(fail, "Decoding operation failed (1)"); } } // End of testcase tc_encode_UeIdentityTags } // End of module TestCodec_External