testcase TC_Sem_060101_TopLevel_007() runs on GeneralComp {
var universal charstring v_a := char(U0041); //USI notation for character "A"
- var universal charstring v_b := char(U0171); //USI notation for character "Ã\85±"
+ var universal charstring v_b := char(U0171); //USI notation for character "ű"
var universal charstring v_c := char(U41); //USI notation for character "A" without leading zeroes
- var universal charstring v_d := char(U+171,U41); //USI notation for character "Ã\85±" and "A" without leading zeroes and + sign notation
+ var universal charstring v_d := char(U+171,U41); //USI notation for character "ű" and "A" without leading zeroes and + sign notation
-
+ var universal charstring a_exp := "A";
+ var universal charstring b_exp := "ű";
+ var universal charstring c_exp := "A";
+ var universal charstring d_exp := "űA";
- if (match(v_a,"A") and
- match(v_b,"Ã\85±") and
- match(v_c,"A") and
- match(v_d,"Ã\85±A"))
+ if (match(v_a,a_exp) and
+ match(v_b,"ű") and
+ match(v_c,c_exp) and
+ match(v_d,"űA"))
{
setverdict(pass,"v_a:",v_a, "v_b:",v_b, "v_c:",v_c,"v_d:",v_d);
}
control{
execute(TC_Sem_060101_TopLevel_007());
}
-}
\ No newline at end of file
+}
+
+
+++ /dev/null
-/***************************************************
- ** @author STF 451, re-numbering done by STF 470 and 487
- ** @version 0.0.1
- ** @desc Test cases for clause 6.2
- ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass reject
- ***************************************************/
-module NegSem_060201_RecordTypeValues_001 {
-
- type component GeneralComp {
- }
-
- type record R {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
- const R v_assigned := { 1, 2 }
- with { optional "implicit omit" }
-
- testcase TC_NegSem_060201_RecordTypeValues_001() runs on GeneralComp {
-
- template R m_check := { 1, omit, 2, omit, omit };
-
- if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned
- setverdict(pass);
- }
- else {
- setverdict(fail, "cannot match: ", v_assigned, " with ", m_check);
- }
-
- }
-
- control {
- execute(TC_NegSem_060201_RecordTypeValues_001());
- }
-
-}
+++ /dev/null
-/***************************************************
- ** @author STF 451, re-numbering done by STF 470 and 487
- ** @version 0.0.1
- ** @desc Test cases for clause 6.2
- ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass reject
- ***************************************************/
-module NegSem_060201_RecordTypeValues_002 {
-
- type component GeneralComp {
- }
-
- type record R {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
- testcase TC_NegSem_060201_RecordTypeValues_002() runs on GeneralComp {
-
- var R v_assigned := { 1, 2 } with { optional "implicit omit" }
- //rejected since f3 stays undefined
-
- }
-
- control {
- execute(TC_NegSem_060201_RecordTypeValues_002());
- }
-
-}
** @version 0.0.1
** @desc Test cases for clause 6.2
** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass accept, ttcn3verdict:pass
+ ** @verdict pass reject
***************************************************/
-module Sem_060201_RecordTypeValues_001 {
+module Sem_060201_RecordTypeValues_001 {
type component GeneralComp {
}
- type record R {
+ type record R {
integer f1,
integer f2 optional,
integer f3,
integer f4 optional,
integer f5 optional
- }
+ }
- const R v_assigned := { 1, -, 2 } with { optional "implicit omit" }
+ const R v_assigned := { 1, 2 }
+ with { optional "implicit omit" }
testcase TC_Sem_060201_RecordTypeValues_001() runs on GeneralComp {
- template R m_check := { 1, omit, 2, omit, omit }
+ template R m_check := { 1, omit, 2, omit, omit };
- if (match(v_assigned,m_check)) {
- setverdict(pass);
+ if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned
+ setverdict(fail, "somehow it matched?");
}
else {
- setverdict(fail);
+ setverdict(pass, "cannot match: ", v_assigned, " with ", m_check);
}
}
execute(TC_Sem_060201_RecordTypeValues_001());
}
-}
+}
** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
** @verdict pass accept, ttcn3verdict:pass
***************************************************/
-module Sem_060201_RecordTypeValues_002 {
+module Sem_060201_RecordTypeValues_002 {
type component GeneralComp {
}
integer f5 optional
}
- const R c_assigned := { 1, -, 2 } with { optional "implicit omit" }
+ const R v_assigned := { 1, -, 2 } with { optional "implicit omit" }
testcase TC_Sem_060201_RecordTypeValues_002() runs on GeneralComp {
template R m_check := { 1, omit, 2, omit, omit }
- if (match(c_assigned,m_check)) {
+ if (match(v_assigned,m_check)) {
setverdict(pass);
}
else {
+++ /dev/null
-/***************************************************
- ** @author STF470
- ** @version 0.0.1
- ** @desc Test cases for clause 6.2
- ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass reject
- ***************************************************/
-module NegSem_060202_SetTypeValues_002 {
-
-type component GeneralComp {
-}
-
- type set S {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
-testcase TC_NegSem_060202_SetTypeValues_002() runs on GeneralComp {
-
- var S v_assigned := { 1, 2 } with { optional "implicit omit" }
- template S m_check := { 1, omit, 2, omit, omit }
-
- if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned
- setverdict(pass);
- }
-
-}
-
-control {
- execute(TC_NegSem_060202_SetTypeValues_002());
-}
-
-}
+++ /dev/null
-/***************************************************
- ** @author STF470
- ** @version 0.0.1
- ** @desc Test cases for clause 6.2
- ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass reject
- ***************************************************/
-module NegSem_060202_SetTypeValues_003 {
-
-type component GeneralComp {
-}
-
- type set S {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
-testcase TC_NegSem_060202_SetTypeValues_003() runs on GeneralComp {
-
- var S v_assigned := { 1, 2 } with { optional "implicit omit" } //rejected since f3 stays undefined
-
-}
-
-control {
- execute(TC_NegSem_060202_SetTypeValues_003());
-}
-
-}
** @version 0.0.1
** @desc Test cases for clause 6.2
** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict pass accept, ttcn3verdict:pass
+ ** @verdict pass reject
***************************************************/
-module Sem_060202_SetTypeValues_005 {
+module Sem_060202_SetTypeValues_005 {
-type component GeneralComp {
-}
+ type component GeneralComp {
+ }
- type set S {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
-testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp {
+ type set S {
+ integer f1,
+ integer f2 optional,
+ integer f3,
+ integer f4 optional,
+ integer f5 optional
+ }
+
+ const S v_assigned := { f1 := 1, f2:= 2 } with { optional "implicit omit" }
- var S v_assigned := { 1, -, 2 } with { optional "implicit omit" }
- template S m_check := { 1, omit, 2, omit, omit }
+ testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp {
+
+
+ template S m_check := { f1:= 1, f2:= omit, f3:= 2, f4:= omit, f5:= omit }
- if (match(v_assigned,m_check)) {
- setverdict(pass);
- }
- else {
- setverdict(fail);
- }
+ if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned
+ setverdict(fail, "somehow it matched?");
+ }
+ else {
+ setverdict(pass, "cannot match: ", v_assigned, " with ", m_check);
+ }
-}
+ }
-control {
- execute(TC_Sem_060202_SetTypeValues_005());
-}
+ control {
+ execute(TC_Sem_060202_SetTypeValues_005());
+ }
}
/***************************************************
- ** @author STF470
+ ** @author STF470
** @version 0.0.1
** @desc Test cases for clause 6.2
** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
** @verdict pass accept, ttcn3verdict:pass
***************************************************/
-module Sem_060202_SetTypeValues_006 {
+module Sem_060202_SetTypeValues_006 {
-type component GeneralComp {
-}
+ type component GeneralComp {
+ }
- type set S {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
+ type set S {
+ integer f1,
+ integer f2 optional,
+ integer f3,
+ integer f4 optional,
+ integer f5 optional
+ }
+
+ const S v_assigned := { f1 := 1, f2 := -, f3 := 2 } with { optional "implicit omit" }
- const S c_assigned := { 1, -, 2 } with { optional "implicit omit" }
-
-testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp {
+ testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp {
- template S m_check := { 1, omit, 2, omit, omit }
+ template S m_check := { f1 := 1, f2 := omit, f3 := 2, f4 := omit, f5 := omit }
- if (match(c_assigned,m_check)) {
- setverdict(pass);
- }
- else {
- setverdict(fail);
- }
+ if (match(v_assigned,m_check)) {
+ setverdict(pass);
+ }
+ else {
+ setverdict(fail);
+ }
-}
+ }
-control {
- execute(TC_Sem_060202_SetTypeValues_006());
-}
+ control {
+ execute(TC_Sem_060202_SetTypeValues_006());
+ }
}
***************************************************/
module Sem_060202_SetTypeValues_007 {
-type component GeneralComp {
-}
+ type component GeneralComp {
+ }
- type record S {
- integer f1,
- integer f2 optional,
- integer f3,
- integer f4 optional,
- integer f5 optional
- }
-
-testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp {
+ type record S {
+ integer f1,
+ integer f2 optional,
+ integer f3,
+ integer f4 optional,
+ integer f5 optional
+ }
- var S v_assigned := { 1, 2, 3 } with { optional "implicit omit" }
+ const S v_assigned := { f1 := 1, f2 := 2, f3 := 3 } with { optional "implicit omit" }
- if ( match(v_assigned.f1,1)
+ testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp {
+
+ if ( match(v_assigned.f1,1)
and match(v_assigned.f3,3)
and not ispresent(v_assigned.f4)
and not ispresent(v_assigned.f5) ) {
- setverdict(pass);
- }
- else {
- setverdict(fail);
- }
+ setverdict(pass);
+ }
+ else {
+ setverdict(fail);
+ }
-}
+ }
-control {
- execute(TC_Sem_060202_SetTypeValues_007());
-}
+ control {
+ execute(TC_Sem_060202_SetTypeValues_007());
+ }
}
type integer ConstrainedInteger(0..10);
- type component TestCaseComp {
- const integer c_integer:=2;
- const ConstrainedInteger c_constrained:=2;
+ type component TestCaseComp extends FunctionComp{
}
type component FunctionComp {
type integer ConstrainedInteger(0..10);
- type component TestCaseComp {
- const integer c_integer:=2;
+ type component TestCaseComp extends FunctionComp{
const ConstrainedInteger c_constrained:=2;
}
--- /dev/null
+/*****************************************************************\r
+ ** @author STF 470\r
+ ** @version 0.0.1\r
+ ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions\r
+ ** @verdict pass reject\r
+ *****************************************************************/\r
+\r
+#include "NegSem_08020301_GeneralFormatOfImport_031_import.hh"\r
+\r
+namespace NegSem__08020301__GeneralFormatOfImport__032__import\r
+{\r
+ void f__test()\r
+ { \r
+ MyType p = 1;\r
+ return p;\r
+ }\r
+}\r
+++ /dev/null
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "IntegerOutputPortType.hh"
-
-namespace Sem__0902__Communication__ports__001 {
-
-IntegerOutputPortType::IntegerOutputPortType(const char *par_port_name)
- : IntegerOutputPortType_BASE(par_port_name)
-{
-
-}
-
-IntegerOutputPortType::~IntegerOutputPortType()
-{
-
-}
-
-void IntegerOutputPortType::set_parameter(const char * /*parameter_name*/,
- const char * /*parameter_value*/)
-{
-
-}
-
-/*void IntegerOutputPortType::Handle_Fd_Event(int fd, boolean is_readable,
- boolean is_writable, boolean is_error) {}*/
-
-void IntegerOutputPortType::Handle_Fd_Event_Error(int /*fd*/)
-{
-
-}
-
-void IntegerOutputPortType::Handle_Fd_Event_Writable(int /*fd*/)
-{
-
-}
-
-void IntegerOutputPortType::Handle_Fd_Event_Readable(int /*fd*/)
-{
-
-}
-
-/*void IntegerOutputPortType::Handle_Timeout(double time_since_last_call) {}*/
-
-void IntegerOutputPortType::user_map(const char * /*system_port*/)
-{
-
-}
-
-void IntegerOutputPortType::user_unmap(const char * /*system_port*/)
-{
-
-}
-
-void IntegerOutputPortType::user_start()
-{
-
-}
-
-void IntegerOutputPortType::user_stop()
-{
-
-}
-
-void IntegerOutputPortType::outgoing_send(const INTEGER& /*send_par*/)
-{
-
-}
-
-} /* end of namespace */
-
+++ /dev/null
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef IntegerOutputPortType_HH
-#define IntegerOutputPortType_HH
-
-#include "Sem_0902_Communication_ports_001.hh"
-
-namespace Sem__0902__Communication__ports__001 {
-
-class IntegerOutputPortType : public IntegerOutputPortType_BASE {
-public:
- IntegerOutputPortType(const char *par_port_name = NULL);
- ~IntegerOutputPortType();
-
- void set_parameter(const char *parameter_name,
- const char *parameter_value);
-
-private:
- /* void Handle_Fd_Event(int fd, boolean is_readable,
- boolean is_writable, boolean is_error); */
- void Handle_Fd_Event_Error(int fd);
- void Handle_Fd_Event_Writable(int fd);
- void Handle_Fd_Event_Readable(int fd);
- /* void Handle_Timeout(double time_since_last_call); */
-protected:
- void user_map(const char *system_port);
- void user_unmap(const char *system_port);
-
- void user_start();
- void user_stop();
-
- void outgoing_send(const INTEGER& send_par);
-};
-
-} /* end of namespace */
-
-#endif
+++ /dev/null
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "Sem_0902_Communication_ports_001.hh"
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Prototypes of static functions */
-
-static void pre_init_module();
-static boolean init_comp_type(const char *component_type, boolean init_base_comps);
-static void module_control_part();
-
-/* Literal string constants */
-
-static const unsigned char module_checksum[] = { 0x72, 0x88, 0x6a, 0xaf, 0x8c, 0x68, 0xc9, 0xbb, 0xee, 0xff, 0x38, 0x6c, 0xbf, 0xf3, 0x8e, 0x81 };
-
-/* Global variable definitions */
-
-const TTCN_Typedescriptor_t& GeneralComp_descr_ = COMPONENT_descr_;
-IntegerOutputPortType GeneralComp_component_MycomportA("MycomportA");
-const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_ = COMPONENT_descr_;
-loopbackPort MyTestSystemInterface_component_messagePort("messagePort");
-static const size_t num_namespaces = 0;
-TTCN_Module module_object("Sem_0902_Communication_ports_001", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, NULL, NULL, NULL, NULL, init_comp_type, NULL, module_control_part);
-
-static const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_5,
- current_runtime_version.requires_minor_version_4,
- current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-void loopbackPort::remove_msg_queue_head()
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-switch (my_head->item_selection) {
-case MESSAGE_0:
-delete (my_head)->message_0;
-break;
-default:
-TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name);
-}
-msg_queue_item_base *next_item = msg_queue_head->next_item;
-delete (msg_queue_item*)msg_queue_head;
-msg_queue_head = next_item;
-if (next_item == NULL) msg_queue_tail = NULL;
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));}
-
-void loopbackPort::clear_queue()
-{
-while (msg_queue_head != NULL) remove_msg_queue_head();
-}
-
-loopbackPort::loopbackPort(const char *par_port_name)
- : PORT(par_port_name)
-{
-msg_queue_head = NULL;
-msg_queue_tail = NULL;
-}
-
-loopbackPort::~loopbackPort()
-{
-clear_queue();
-}
-
-void loopbackPort::send(const INTEGER& send_par, const COMPONENT& destination_component)
-{
-if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name);
-if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation.");
-const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_send(port_name, destination_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "),
-send_par.log(), TTCN_Logger::end_event_log2str()));
-}
-if (destination_component == SYSTEM_COMPREF) TTCN_error("Message cannot be sent to system on internal port %s.", port_name);
-else {
-Text_Buf text_buf;
-prepare_message(text_buf, "integer");
-send_par.encode_text(text_buf);
-send_data(text_buf, destination_component);
-}
-}
-
-void loopbackPort::send(const INTEGER& send_par)
-{
-send(send_par, COMPONENT(get_default_destination()));
-}
-
-void loopbackPort::send(const INTEGER_template& send_par, const COMPONENT& destination_component)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, destination_component);
-}
-
-void loopbackPort::send(const INTEGER_template& send_par)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, COMPONENT(get_default_destination()));
-}
-
-alt_status loopbackPort::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name);
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-void loopbackPort::incoming_message(const INTEGER& incoming_par, component sender_component)
-{
-if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name);
-msg_tail_count++;
-if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) {
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count,
-CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str()));
-}
-msg_queue_item *new_item = new msg_queue_item;
-new_item->item_selection = MESSAGE_0;
-new_item->message_0 = new INTEGER(incoming_par);
-new_item->sender_component = sender_component;
-append_to_msg_queue(new_item);
-}
-
-boolean loopbackPort::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&)
-{
-if (!strcmp(message_type, "integer")) {
-INTEGER incoming_par;
-incoming_par.decode_text(incoming_buf);
-incoming_message(incoming_par, sender_component);
-return TRUE;
-} else return FALSE;
-}
-
-void IntegerOutputPortType_BASE::remove_msg_queue_head()
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-switch (my_head->item_selection) {
-case MESSAGE_0:
-delete (my_head)->message_0;
-break;
-default:
-TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name);
-}
-msg_queue_item_base *next_item = msg_queue_head->next_item;
-delete (msg_queue_item*)msg_queue_head;
-msg_queue_head = next_item;
-if (next_item == NULL) msg_queue_tail = NULL;
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));}
-
-void IntegerOutputPortType_BASE::clear_queue()
-{
-while (msg_queue_head != NULL) remove_msg_queue_head();
-}
-
-IntegerOutputPortType_BASE::IntegerOutputPortType_BASE(const char *par_port_name)
- : PORT(par_port_name)
-{
-msg_queue_head = NULL;
-msg_queue_tail = NULL;
-}
-
-IntegerOutputPortType_BASE::~IntegerOutputPortType_BASE()
-{
-clear_queue();
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER& send_par, const COMPONENT& destination_component)
-{
-if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name);
-if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation.");
-const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_send(port_name, destination_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "),
-send_par.log(), TTCN_Logger::end_event_log2str()));
-}
-if (destination_component == SYSTEM_COMPREF) outgoing_send(send_par);
-else {
-Text_Buf text_buf;
-prepare_message(text_buf, "integer");
-send_par.encode_text(text_buf);
-send_data(text_buf, destination_component);
-}
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER& send_par)
-{
-send(send_par, COMPONENT(get_default_destination()));
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par, const COMPONENT& destination_component)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, destination_component);
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, COMPONENT(get_default_destination()));
-}
-
-alt_status IntegerOutputPortType_BASE::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name);
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-void IntegerOutputPortType_BASE::incoming_message(const INTEGER& incoming_par, component sender_component)
-{
-if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name);
-msg_tail_count++;
-if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) {
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count,
-CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str()));
-}
-msg_queue_item *new_item = new msg_queue_item;
-new_item->item_selection = MESSAGE_0;
-new_item->message_0 = new INTEGER(incoming_par);
-new_item->sender_component = sender_component;
-append_to_msg_queue(new_item);
-}
-
-boolean IntegerOutputPortType_BASE::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&)
-{
-if (!strcmp(message_type, "integer")) {
-INTEGER incoming_par;
-incoming_par.decode_text(incoming_buf);
-incoming_message(incoming_par, sender_component);
-return TRUE;
-} else return FALSE;
-}
-
-
-/* Bodies of functions, altsteps and testcases */
-
-verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value)
-{
-TTCN_Runtime::check_begin_testcase(has_timer, timer_value);
-try {
-TTCN_Runtime::begin_testcase("Sem_0902_Communication_ports_001", "TC_Sem_0902_Communication_ports_001", "Sem_0902_Communication_ports_001", "GeneralComp", "Sem_0902_Communication_ports_001", "MyTestSystemInterface", has_timer, timer_value);
-/* Sem_0902_Communication_ports_001.ttcn, line 31 */
-TTCN_Runtime::map_port(MTC_COMPREF, GeneralComp_component_MycomportA.get_name(), SYSTEM_COMPREF, MyTestSystemInterface_component_messagePort.get_name());
-/* Sem_0902_Communication_ports_001.ttcn, line 34 */
-GeneralComp_component_MycomportA.send(INTEGER(2));
-/* Sem_0902_Communication_ports_001.ttcn, line 36 */
-{
-tmp_0:
-alt_status tmp_0_alt_flag_0 = ALT_MAYBE;
-alt_status tmp_0_alt_flag_1 = ALT_MAYBE;
-alt_status tmp_0_default_flag = ALT_MAYBE;
-TTCN_Snapshot::take_new(FALSE);
-for ( ; ; ) {
-if (tmp_0_alt_flag_0 == ALT_MAYBE) {
-/* Sem_0902_Communication_ports_001.ttcn, line 37 */
-tmp_0_alt_flag_0 = GeneralComp_component_MycomportA.receive(INTEGER_template(2), NULL, any_compref, NULL);
-if (tmp_0_alt_flag_0 == ALT_YES) {
-/* Sem_0902_Communication_ports_001.ttcn, line 38 */
-TTCN_Runtime::setverdict(PASS);
-break;
-}
-}
-if (tmp_0_alt_flag_1 == ALT_MAYBE) {
-/* Sem_0902_Communication_ports_001.ttcn, line 40 */
-tmp_0_alt_flag_1 = GeneralComp_component_MycomportA.receive(any_compref, NULL);
-if (tmp_0_alt_flag_1 == ALT_YES) {
-/* Sem_0902_Communication_ports_001.ttcn, line 41 */
-TTCN_Runtime::setverdict(FAIL);
-break;
-}
-}
-if (tmp_0_default_flag == ALT_MAYBE) {
-tmp_0_default_flag = TTCN_Default::try_altsteps();
-if (tmp_0_default_flag == ALT_YES || tmp_0_default_flag == ALT_BREAK) break;
-else if (tmp_0_default_flag == ALT_REPEAT) goto tmp_0;
-}
-/* Sem_0902_Communication_ports_001.ttcn, line 36 */
-if (tmp_0_alt_flag_0 == ALT_NO && tmp_0_alt_flag_1 == ALT_NO && tmp_0_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file Sem_0902_Communication_ports_001.ttcn between lines 36 and 43.");
-TTCN_Snapshot::take_new(TRUE);
-}
-}
-} catch (const TC_Error& tc_error) {
-} catch (const TC_End& tc_end) {
-TTCN_Logger::log_str(TTCN_FUNCTION, "Test case TC_Sem_0902_Communication_ports_001 was stopped.");
-}
-return TTCN_Runtime::end_testcase();
-}
-
-
-/* Bodies of static functions */
-
-static void pre_init_module()
-{
-module_object.add_testcase_nonpard("TC_Sem_0902_Communication_ports_001", testcase_TC__Sem__0902__Communication__ports__001);
-}
-
-static boolean init_comp_type(const char *component_type, boolean init_base_comps)
-{
-(void)init_base_comps;
-if (!strcmp(component_type, "GeneralComp")) {
-GeneralComp_component_MycomportA.activate_port();
-return TRUE;
-} else if (!strcmp(component_type, "MyTestSystemInterface")) {
-MyTestSystemInterface_component_messagePort.activate_port();
-return TRUE;
-} else return FALSE;
-}
-
-static void module_control_part()
-{
-TTCN_Runtime::begin_controlpart("Sem_0902_Communication_ports_001");
-/* Sem_0902_Communication_ports_001.ttcn, line 47 */
-testcase_TC__Sem__0902__Communication__ports__001(FALSE, 0.0);
-TTCN_Runtime::end_controlpart();
-}
-
-
-} /* end of namespace */
+++ /dev/null
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef Sem__0902__Communication__ports__001_HH
-#define Sem__0902__Communication__ports__001_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-
-#if TTCN3_VERSION != 50400
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef Sem__0902__Communication__ports__001_HH
-#endif
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Forward declarations of classes */
-
-class loopbackPort;
-class IntegerOutputPortType_BASE;
-class IntegerOutputPortType;
-
-} /* end of namespace */
-
-#ifndef Sem__0902__Communication__ports__001_HH
-#define Sem__0902__Communication__ports__001_HH
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Type definitions */
-
-typedef COMPONENT GeneralComp;
-typedef COMPONENT_template GeneralComp_template;
-typedef COMPONENT MyTestSystemInterface;
-typedef COMPONENT_template MyTestSystemInterface_template;
-
-/* Class definitions */
-
-class loopbackPort : public PORT {
-enum msg_selection { MESSAGE_0 };
-struct msg_queue_item : public msg_queue_item_base {
-msg_selection item_selection;
-union {
-INTEGER *message_0;
-};
-component sender_component;
-};
-
-void remove_msg_queue_head();
-protected:
-void clear_queue();
-public:
-loopbackPort(const char *par_port_name = NULL);
-~loopbackPort();
-void send(const INTEGER& send_par, const COMPONENT& destination_component);
-void send(const INTEGER& send_par);
-void send(const INTEGER_template& send_par, const COMPONENT& destination_component);
-void send(const INTEGER_template& send_par);
-alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-private:
-void incoming_message(const INTEGER& incoming_par, component sender_component);
-protected:
-boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
-};
-
-class IntegerOutputPortType_BASE : public PORT {
-enum msg_selection { MESSAGE_0 };
-struct msg_queue_item : public msg_queue_item_base {
-msg_selection item_selection;
-union {
-INTEGER *message_0;
-};
-component sender_component;
-};
-
-void remove_msg_queue_head();
-protected:
-void clear_queue();
-public:
-IntegerOutputPortType_BASE(const char *par_port_name);
-~IntegerOutputPortType_BASE();
-void send(const INTEGER& send_par, const COMPONENT& destination_component);
-void send(const INTEGER& send_par);
-void send(const INTEGER_template& send_par, const COMPONENT& destination_component);
-void send(const INTEGER_template& send_par);
-protected:
-virtual void outgoing_send(const INTEGER& send_par) = 0;
-public:
-alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-private:
-void incoming_message(const INTEGER& incoming_par, component sender_component);
-protected:
-inline void incoming_message(const INTEGER& incoming_par) { incoming_message(incoming_par, SYSTEM_COMPREF); }
-boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
-};
-
-
-/* Function prototypes */
-
-extern verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value);
-
-/* Global variable declarations */
-
-extern const TTCN_Typedescriptor_t& GeneralComp_descr_;
-extern IntegerOutputPortType GeneralComp_component_MycomportA;
-extern const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_;
-extern loopbackPort MyTestSystemInterface_component_messagePort;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-/* Test port header files */
-
-#include "IntegerOutputPortType.hh"
-
-#endif
type port loopbackPort message {
inout integer
- } with {extension "internal"}
- type port IntegerOutputPortType message {
- inout integer
- } // with {extension "internal"}
-
+ }
+
type component GeneralComp
{
- port IntegerOutputPortType MycomportA
+ port loopbackPort MycomportA
}
type component MyTestSystemInterface
// establishing the port connections
map(mtc:MycomportA, system:messagePort);
-
MycomportA.send(2); //can send also in-line template
alt {
//Two ports are mapped to two system interface
module Sem_0902_Communication_ports_002{
- type port loopbackPort message {
+ type port loopbackPort1 message {
inout integer
}
- type port MyMessagePortType message {
- inout integer
- }
-
type component GeneralComp
{
var integer v_received1:=0;
var integer v_received2:=0;
- port MyMessagePortType myPortA,myPortB
+ port loopbackPort1 myPortA,myPortB
}
type component MyTestSystemInterface
{
- port loopbackPort messagePortA,messagePortB
+ port loopbackPort1 messagePortA,messagePortB
}
// MyTestSystemInterface is the test system interface
map(mtc:myPortA, system:messagePortA);
map(mtc:myPortB, system:messagePortB);
-
myPortA.send(2); //can send also in-line template
myPortB.send(3);
--- /dev/null
+// This Test Port skeleton source file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Complete the body of empty functions and
+// add your member functions here.
+
+#include "loopbackPort.hh"
+
+namespace Sem__0902__Communication__ports__001 {
+
+loopbackPort::loopbackPort(const char *par_port_name)
+ : loopbackPort_BASE(par_port_name)
+{
+
+}
+
+loopbackPort::~loopbackPort()
+{
+
+}
+
+void loopbackPort::set_parameter(const char * /*parameter_name*/,
+ const char * /*parameter_value*/)
+{
+
+}
+
+/*void loopbackPort::Handle_Fd_Event(int fd, boolean is_readable,
+ boolean is_writable, boolean is_error) {}*/
+
+void loopbackPort::Handle_Fd_Event_Error(int /*fd*/)
+{
+
+}
+
+void loopbackPort::Handle_Fd_Event_Writable(int /*fd*/)
+{
+
+}
+
+void loopbackPort::Handle_Fd_Event_Readable(int /*fd*/)
+{
+
+}
+
+/*void loopbackPort::Handle_Timeout(double time_since_last_call) {}*/
+
+void loopbackPort::user_map(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort::user_unmap(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort::user_start()
+{
+
+}
+
+void loopbackPort::user_stop()
+{
+
+}
+
+void loopbackPort::outgoing_send(const INTEGER& send_par)
+{
+ incoming_message(send_par);
+}
+
+} /* end of namespace */
+
--- /dev/null
+// This Test Port skeleton header file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Add your attributes and prototypes of your
+// member functions here.
+
+#ifndef loopbackPort_HH
+#define loopbackPort_HH
+
+#include "Sem_0902_Communication_ports_001.hh"
+
+namespace Sem__0902__Communication__ports__001 {
+
+class loopbackPort : public loopbackPort_BASE {
+public:
+ loopbackPort(const char *par_port_name = NULL);
+ ~loopbackPort();
+
+ void set_parameter(const char *parameter_name,
+ const char *parameter_value);
+
+private:
+ /* void Handle_Fd_Event(int fd, boolean is_readable,
+ boolean is_writable, boolean is_error); */
+ void Handle_Fd_Event_Error(int fd);
+ void Handle_Fd_Event_Writable(int fd);
+ void Handle_Fd_Event_Readable(int fd);
+ /* void Handle_Timeout(double time_since_last_call); */
+protected:
+ void user_map(const char *system_port);
+ void user_unmap(const char *system_port);
+
+ void user_start();
+ void user_stop();
+
+ void outgoing_send(const INTEGER& send_par);
+};
+
+} /* end of namespace */
+
+#endif
--- /dev/null
+// This Test Port skeleton source file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Complete the body of empty functions and
+// add your member functions here.
+
+#include "loopbackPort1.hh"
+
+namespace Sem__0902__Communication__ports__002 {
+
+loopbackPort1::loopbackPort1(const char *par_port_name)
+ : loopbackPort1_BASE(par_port_name)
+{
+
+}
+
+loopbackPort1::~loopbackPort1()
+{
+
+}
+
+void loopbackPort1::set_parameter(const char * /*parameter_name*/,
+ const char * /*parameter_value*/)
+{
+
+}
+
+/*void loopbackPort1::Handle_Fd_Event(int fd, boolean is_readable,
+ boolean is_writable, boolean is_error) {}*/
+
+void loopbackPort1::Handle_Fd_Event_Error(int /*fd*/)
+{
+
+}
+
+void loopbackPort1::Handle_Fd_Event_Writable(int /*fd*/)
+{
+
+}
+
+void loopbackPort1::Handle_Fd_Event_Readable(int /*fd*/)
+{
+
+}
+
+/*void loopbackPort1::Handle_Timeout(double time_since_last_call) {}*/
+
+void loopbackPort1::user_map(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort1::user_unmap(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort1::user_start()
+{
+
+}
+
+void loopbackPort1::user_stop()
+{
+
+}
+
+void loopbackPort1::outgoing_send(const INTEGER& send_par)
+{
+ incoming_message(send_par);
+}
+
+} /* end of namespace */
+
--- /dev/null
+// This Test Port skeleton header file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Add your attributes and prototypes of your
+// member functions here.
+
+#ifndef loopbackPort1_HH
+#define loopbackPort1_HH
+
+#include "Sem_0902_Communication_ports_002.hh"
+
+namespace Sem__0902__Communication__ports__002 {
+
+class loopbackPort1 : public loopbackPort1_BASE {
+public:
+ loopbackPort1(const char *par_port_name = NULL);
+ ~loopbackPort1();
+
+ void set_parameter(const char *parameter_name,
+ const char *parameter_value);
+
+private:
+ /* void Handle_Fd_Event(int fd, boolean is_readable,
+ boolean is_writable, boolean is_error); */
+ void Handle_Fd_Event_Error(int fd);
+ void Handle_Fd_Event_Writable(int fd);
+ void Handle_Fd_Event_Readable(int fd);
+ /* void Handle_Timeout(double time_since_last_call); */
+protected:
+ void user_map(const char *system_port);
+ void user_unmap(const char *system_port);
+
+ void user_start();
+ void user_stop();
+
+ void outgoing_send(const INTEGER& send_par);
+};
+
+} /* end of namespace */
+
+#endif
var integer v_1; //uninitialized value
//uninitialized value
- if( match(any2unistr(v_1),"UNINITIALIZED")) { setverdict(pass,"Result: ",any2unistr(v_1));}
- else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: UNINITIALIZED");}
+ if( match(any2unistr(v_1),"<unbound>")) { setverdict(pass,"Result: ",any2unistr(v_1));}
+ else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: unbound");}
}
control{
execute(TC_Sem_160102_predefined_functions_043());
}
-}
\ No newline at end of file
+}
module Sem_160102_predefined_functions_046 {
- type record MyRec {
+ type record MyRec {
integer field1,
boolean field2,
integer field3 optional
template MyRec v_4 := {1,false,-}; // record containing integer, boolean and optional elements
// record containing integer, boolean and optional elements
- if(match(any2unistr(v_4),pattern "{ field1 := 1, field2 := false, field3 := UNINITIALIZED }" )) {
+ if(match(any2unistr(v_4),"{ field1 := 1, field2 := false, field3 := <uninitialized template> }" )) {
setverdict(pass,"Result: ",any2unistr(v_4));}
- else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := UNINITIALIZED }");}
+ else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := <uninitialized template> }");}
}
control{
execute(TC_Sem_160102_predefined_functions_046());
}
-}
\ No newline at end of file
+}
}
+ type charstring CS with { variant "ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_063 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "abc";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_064 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_065 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
\ No newline at end of file
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(2), ALIGN(right)" };
+
testcase TC_Sem_160102_predefined_functions_066 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_067 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(4), ALIGN(right)" };
+
testcase TC_Sem_160102_predefined_functions_068 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_069 () runs on GeneralComp {
- var charstring v_test := "abc";
+ var CS v_test := "ab";
//Encoding:
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "32 bit" };
+
testcase TC_Sem_160102_predefined_functions_070 () runs on GeneralComp {
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-8");
-
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-8");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "" };
+
testcase TC_Sem_160102_predefined_functions_071 () runs on GeneralComp {
-
+ var CS input := "aBcDeF";
+
//encoded text:
- var universal charstring v_enc := encvalue_unichar("aBcDeF","UTF-8");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-8");
//decode:
- var charstring v_test_dec;
+ var CS v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "FIELDLENGTH(16)" };
+
testcase TC_Sem_160102_predefined_functions_072 () runs on GeneralComp {
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-16");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-16");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(8), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_073 () runs on GeneralComp {
//encoded text:
- var universal charstring v_test := "aBcDe";
+ var CS v_test := "aBcdEF34";
var universal charstring v_enc := encvalue_unichar(v_test,"UTF-16");
//decode:
- var charstring v_test_dec;
+ var CS v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_test_dec , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_test_dec , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_test_dec, " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)"};
+
testcase TC_Sem_160102_predefined_functions_074 () runs on GeneralComp {
-
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-32"); //encode UTF-32
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-32"); //encode UTF-32
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
testcase TC_Sem_160102_predefined_functions_075 () runs on GeneralComp {
-
- //encoded text:
- var universal charstring v_enc := encvalue_unichar("aBc","UTF-32"); //encode UTF-32
+ var CS v_test := "aB";
+ //encoded text:
+ var universal charstring v_enc := encvalue_unichar(v_test,"UTF-32"); //encode UTF-32
//decode:
- var charstring v_test_dec;
+ var CS v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32)
if (v_res == 0) {
- setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+ setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
} else {
setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
}
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "FIELDLENGTH(16)" };
+
testcase TC_Sem_160102_predefined_functions_076 () runs on GeneralComp {
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-16");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-16");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16LE"); //decode (UTF-16 little endian)
if (v_res == 0) {
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "FIELDLENGTH(16)" };
+
testcase TC_Sem_160102_predefined_functions_077 () runs on GeneralComp {
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-16BE");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-16BE");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16BE"); //decode (UTF-16 big endian)
if (v_res == 0) {
}
-}
+} with { encode "RAW"}
}
+ type integer I with { variant "FIELDLENGTH(32), BYTEORDER(first)" };
+
testcase TC_Sem_160102_predefined_functions_078 () runs on GeneralComp {
-
+ var I input := 123;
+
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-32LE");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-32LE");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32LE"); //decode (UTF-32 little endian)
if (v_res == 0) {
}
-}
+} with { encode "RAW"}
type component GeneralComp {
}
+
+ type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)" };
testcase TC_Sem_160102_predefined_functions_079 () runs on GeneralComp {
+ var I input := 123;
//encoded text:
- var universal charstring v_enc := encvalue_unichar(123,"UTF-32BE");
+ var universal charstring v_enc := encvalue_unichar(input,"UTF-32BE");
//decode:
- var integer v_test_dec;
+ var I v_test_dec;
var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32BE"); //decode (UTF-32 big endian)
if (v_res == 0) {
}
-}
+} with { encode "RAW"}
control{
execute(TC_Sem_160102_predefined_functions_080());
}
-}
+} with {encode "RAW" }
}
v_testMessage:= {
- field1 := "Ã\85±",
- field2 := "Ã\85±1234Ã\85´",
- field3 := "Ã\85±"
+ field1 := "ű",
+ field2 := "ű1234Ŵ",
+ field3 := "ű"
}
connect(self:messagePort, self:messagePort);
Sem_050402_actual_parameters_194.control
Sem_050402_actual_parameters_195.control
Sem_050402_actual_parameters_196.control
-Sem_050402_actual_parameters_197.control
Sem_050402_actual_parameters_198.control
Sem_050402_actual_parameters_199.control
Sem_050402_actual_parameters_200.control
Sem_060101_TopLevel_004.control
Sem_060101_TopLevel_005.control
Sem_060101_TopLevel_006.control
+Sem_060101_TopLevel_007.control
Sem_06010201_ListOfValues_001.control
Sem_06010202_ListOfTypes_001.control
Sem_06010202_ListOfTypes_002.control
Sem_06020101_ReferencingRecordFields_014.control
Sem_06020101_ReferencingRecordFields_016.control
Sem_06020101_ReferencingRecordFields_017.control
+Sem_060201_RecordTypeValues_001.control
Sem_060201_RecordTypeValues_002.control
+Sem_060201_RecordTypeValues_003.control
Sem_060202_SetTypeValues_001.control
Sem_060202_SetTypeValues_002.control
Sem_060202_SetTypeValues_003.control
Sem_060202_SetTypeValues_004.control
+Sem_060202_SetTypeValues_005.control
+Sem_060202_SetTypeValues_006.control
+Sem_060202_SetTypeValues_007.control
Sem_060203_records_and_sets_of_single_types_001.control
Sem_060203_records_and_sets_of_single_types_004.control
Sem_060203_records_and_sets_of_single_types_005.control
Sem_060302_structured_types_002.control
Sem_060302_structured_types_003.control
Sem_060302_structured_types_005.control
+Sem_060303_component_types_001.control
+Sem_060303_component_types_002.control
Sem_070101_ArithmeticOperators_001.control
Sem_070101_ArithmeticOperators_002.control
Sem_070101_ArithmeticOperators_003.control
Sem_0901_Communication_ports_003.control
Sem_0901_Communication_ports_004.control
Sem_0901_Communication_ports_005.control
+Sem_0902_Communication_ports_001.control
+Sem_0902_Communication_ports_002.control
Sem_10_Constants_001.control
Sem_10_Constants_002.control
Sem_10_Constants_003.control
Sem_1505_ModifiedTemplates_004.control
Sem_1505_ModifiedTemplates_005.control
Sem_1505_ModifiedTemplates_006.control
+Sem_1505_ModifiedTemplates_007.control
Sem_1505_ModifiedTemplates_009.control
Sem_1505_ModifiedTemplates_010.control
Sem_150602_ReferencingRecordAndSetFields_001.control
Sem_160102_predefined_functions_039.control
Sem_160102_predefined_functions_040.control
Sem_160102_predefined_functions_041.control
+Sem_160102_predefined_functions_042.control
+Sem_160102_predefined_functions_043.control
+Sem_160102_predefined_functions_044.control
+Sem_160102_predefined_functions_045.control
+Sem_160102_predefined_functions_046.control
+Sem_160102_predefined_functions_063.control
+Sem_160102_predefined_functions_064.control
+Sem_160102_predefined_functions_065.control
+Sem_160102_predefined_functions_066.control
+Sem_160102_predefined_functions_067.control
+Sem_160102_predefined_functions_068.control
+Sem_160102_predefined_functions_069.control
+Sem_160102_predefined_functions_070.control
+Sem_160102_predefined_functions_071.control
+Sem_160102_predefined_functions_072.control
+Sem_160102_predefined_functions_073.control
+Sem_160102_predefined_functions_074.control
+Sem_160102_predefined_functions_075.control
+Sem_160102_predefined_functions_076.control
+Sem_160102_predefined_functions_077.control
+Sem_160102_predefined_functions_078.control
+Sem_160102_predefined_functions_079.control
Sem_160102_predefined_functions_081.control
Sem_160102_predefined_functions_082.control
Sem_160102_predefined_functions_083.control
Sem_B010503_match_n_times_005.control
Sem_B010505_pattern_compatibility_001.control
Sem_B0105_toplevel_001.control
+Sem_B0105_toplevel_002.control
Sem_C0602_The_testcasename_function_001.control
Sem_D01_macro_module_001.control
Sem_D02_macro_file_001.control
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn"/>
-<!-- <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn"/>-->
+ <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn"/>
<!--- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_015.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_015.ttcn"/> -->
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_016.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_016.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_017.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_017.ttcn"/>
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_002.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn"/>-->
+ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn"/>
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn"/>-->
+ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_001.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_002.ttcn"/>
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn"/>-->
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn"/>
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn"/>-->
+ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn"/>
+ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn"/>
+ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn"/>
<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn"/>
<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn"/>-->
-<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn"/>-->
+ <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn"/>
+ <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn"/>
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_002.ttcn"/>-->
<!-- <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_003.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_003.ttcn"/>-->
<!-- <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn"/>-->
<!-- <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn"/>-->
<!-- <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn"/>-->
-<!-- <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn"/> -->
-<!-- <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn"/> -->
+ <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn"/>
+ <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort.cc" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort.cc"/>
+ <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort.hh" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort.hh"/>
+ <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn"/>
+<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort1.cc" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort1.cc"/>
+ <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort1.hh" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort1.hh"/>
<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn"/>
<!-- <FileResource projectRelativePath="10_constants/NegSem_10_Constants_001.ttcn" relativeURI="10_constants/NegSem_10_Constants_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="10_constants/NegSem_10_Constants_002.ttcn" relativeURI="10_constants/NegSem_10_Constants_002.ttcn"/>-->
<FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn"/>
<FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_005.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_005.ttcn"/>
<FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_006.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_006.ttcn"/>
-<!-- <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn"/> -->
+ <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn"/>
<!-- <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_008.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_008.ttcn"/>-->
<FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_009.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_009.ttcn"/>
<FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_010.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_010.ttcn"/>
<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_039.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_039.ttcn"/>
<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_040.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_040.ttcn"/>
<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_041.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_041.ttcn"/>
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn"/>-->
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn"/>
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_047.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_047.ttcn"/>-->
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_048.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_048.ttcn"/>-->
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_049.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_049.ttcn"/>-->
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn"/>-->
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn"/>-->
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn"/>-->
-<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn"/>-->
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn"/>
+ <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn"/>
<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn"/>-->
<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_081.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_081.ttcn"/>
<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_082.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_082.ttcn"/>
<!-- <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_001.ttcn"/>-->
<!-- <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_002.ttcn"/>-->
<FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn"/>
-<!-- <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn"/>-->
+ <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn"/>
<!-- <FileResource projectRelativePath="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_hostid_function_001.ttcn" relativeURI="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_hostid_function_001.ttcn"/>-->
<FileResource projectRelativePath="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn" relativeURI="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn"/>
<FileResource projectRelativePath="D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn" relativeURI="D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn"/>