Commit 67c13563 authored by kovacsa's avatar kovacsa
Browse files

chapter 5 update

parent d768ad46
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed module parametrization types.
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed module parametrization types, including various value parameter types.
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_0504_parametrization_001 {
module Sem_05040101_parameters_of_kind_value_001 {

//the following module parameters must not be set externally, as their default values are being checked
modulepar {
@@ -21,7 +21,7 @@ type component GeneralComp {
}	


testcase TC_Sem_0504_parametrization_001() runs on GeneralComp {
testcase TC_Sem_05040101_parameters_of_kind_value_001() runs on GeneralComp {
    if ( (INTEGER_MODULE_PARAMETER == 1) & (BOOLEAN_MODULE_PARAMETER == true) & (ADDRESS_MODULE_PARAMETER == null) & (ENUMERATED_MODULE_PARAMETER == e_black) ) {
        setverdict(pass);
    }
@@ -33,7 +33,7 @@ testcase TC_Sem_0504_parametrization_001() runs on GeneralComp {


control{
    execute(TC_Sem_0504_parametrization_001());
    execute(TC_Sem_05040101_parameters_of_kind_value_001());
}

}
+4 −4
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed template parametrization types.
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed template parametrization types, including template parameters.
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_0504_parametrization_004 {
module Sem_05040102_parameters_of_kind_template_001 {

type enumerated MyEnumeratedType {e_black, e_white}
type integer address;
@@ -39,7 +39,7 @@ type component GeneralComp {
}	


testcase TC_Sem_0504_parametrization_004() runs on GeneralComp {
testcase TC_Sem_05040102_parameters_of_kind_template_001() runs on GeneralComp {

 var MyRecord DefaultValues  := {
  field1 := 0,
@@ -80,7 +80,7 @@ testcase TC_Sem_0504_parametrization_004() runs on GeneralComp {


control{
    execute(TC_Sem_0504_parametrization_004());
    execute(TC_Sem_05040102_parameters_of_kind_template_001());
}

}
+7 −7
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed testcase parametrization types.
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed testcase parametrization types, including template parameters.
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_0504_parametrization_005 {
module Sem_05040102_parameters_of_kind_template_002 {

type enumerated MyEnumeratedType {e_black, e_white}
type integer address;
@@ -23,7 +23,7 @@ type component GeneralComp {
}	


testcase TC_Sem_0504_parametrization_005 (
testcase TC_Sem_05040102_parameters_of_kind_template_002 (
  MyRecord ExpectedMatch,
  integer p_integer := 0,
  boolean p_boolean := true,
@@ -70,10 +70,10 @@ control{
  field5 := 1
 }

    execute(TC_Sem_0504_parametrization_005(DefaultValues));
    execute(TC_Sem_0504_parametrization_005(DefaultValues,-,-,-,-,-));
    execute(TC_Sem_0504_parametrization_005(ModifiedValues,1,false,1,e_white,1));
    execute(TC_Sem_0504_parametrization_005(PartlyModifiedValues,-,false,-,e_white,-));
    execute(TC_Sem_05040102_parameters_of_kind_template_002(DefaultValues));
    execute(TC_Sem_05040102_parameters_of_kind_template_002(DefaultValues,-,-,-,-,-));
    execute(TC_Sem_05040102_parameters_of_kind_template_002(ModifiedValues,1,false,1,e_white,1));
    execute(TC_Sem_05040102_parameters_of_kind_template_002(PartlyModifiedValues,-,false,-,e_white,-));
}

}
+108 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT accepts allowed function parametrization types, including timers.
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_05040103_parameters_of_kind_timer_001 {

type enumerated MyEnumeratedType {e_black, e_white}
type integer address;

type record MyRecord {
 integer field1,
 boolean field2,
 address field3,
 MyEnumeratedType field4,
 integer field5
}

type port TestPort message {
 inout MyRecord
}

type component GeneralComp {	    	    
  port TestPort generalPort
  port TestPort otherport
}	

function f_parametrizationCheck (
  MyRecord ExpectedMatch,
  timer p_timer, 
  integer p_integer := 0,
  boolean p_boolean := true,
  address p_address := null,
  MyEnumeratedType p_enumerated := e_black,
  template integer p_integerTemplate := ?,
  TestPort p_port := generalPort
 ) runs on GeneralComp {
  var template MyRecord ReceivedRecord := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate};

    if ( (ReceivedRecord == ExpectedMatch) & (p_timer.running) ) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
   p_port.send(ReceivedRecord);
 }

testcase TC_Sem_05040103_parameters_of_kind_timer_001 (
  MyRecord ExpectedMatch,
  integer p_integer := 0,
  boolean p_boolean := true,
  address p_address := null,
  MyEnumeratedType p_enumerated := e_black,
  template integer p_integerTemplate := ?
 ) runs on GeneralComp {

 timer t_check;
 t_check.start(1.0);
 f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate);
 alt {
  [] generalPort.receive {
  }
  [] t_check.timeout {
     setverdict(fail);
  }
 }

 t_check.stop;
 
}


control{

 var MyRecord DefaultValues  := {
  field1 := 0,
  field2 := true,
  field3 := null,
  field4 := e_black,
  field5 := 1			//any number can be used here to correspond with ? matching
 }

 var MyRecord ModifiedValues  := {
  field1 := 1,
  field2 := false,
  field3 := 1,
  field4 := e_white,
  field5 := 1
 }

 var MyRecord PartlyModifiedValues  := {
  field1 := 0,
  field2 := false,
  field3 := null,
  field4 := e_white,
  field5 := 1
 }

    execute(TC_Sem_05040103_parameters_of_kind_timer_001(DefaultValues));
    execute(TC_Sem_05040103_parameters_of_kind_timer_001(DefaultValues,-,-,-,-,-));
    execute(TC_Sem_05040103_parameters_of_kind_timer_001(ModifiedValues,1,false,1,e_white,1));
    execute(TC_Sem_05040103_parameters_of_kind_timer_001(PartlyModifiedValues,-,false,-,e_white,-));
}

}
+117 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT accepts port parametrization types for functions.
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_05040104_parameters_of_kind_port_001 {

type enumerated MyEnumeratedType {e_black, e_white}
type integer address;

type record MyRecord {
 integer field1,
 boolean field2,
 address field3,
 MyEnumeratedType field4,
 integer field5
}

type port TestPort message {
 inout MyRecord
}

type component GeneralComp {	    	    
  port TestPort generalPort
  port TestPort otherPort
}	

function f_parametrizationCheck (
  MyRecord ExpectedMatch,
  timer p_timer, 
  integer p_integer := 0,
  boolean p_boolean := true,
  address p_address := null,
  MyEnumeratedType p_enumerated := e_black,
  template integer p_integerTemplate := ?,
  TestPort p_port := generalPort
 ) runs on GeneralComp {
  var template MyRecord ReceivedRecord := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate};

    if ( (ReceivedRecord == ExpectedMatch) & (p_timer.running) ) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
   p_port.send(ReceivedRecord);
 }

testcase TC_Sem_05040104_parameters_of_kind_port_001_a (
  MyRecord ExpectedMatch,
  integer p_integer := 0,
  boolean p_boolean := true,
  address p_address := null,
  MyEnumeratedType p_enumerated := e_black,
  template integer p_integerTemplate := ?
 ) runs on GeneralComp {

 timer t_check;
 t_check.start(1.0);
 f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate,-);
 alt {
  [] generalPort.receive {
  }
  [] t_check.timeout {
     setverdict(fail);
  }
 }

 t_check.stop;
 
}

testcase TC_Sem_05040104_parameters_of_kind_port_001_b (
  MyRecord ExpectedMatch,
  integer p_integer := 0,
  boolean p_boolean := true,
  address p_address := null,
  MyEnumeratedType p_enumerated := e_black,
  template integer p_integerTemplate := ?
 ) runs on GeneralComp {

 timer t_check;
 t_check.start(1.0);
 f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate,otherPort);
 alt {
  [] otherPort.receive {
  }
  [] t_check.timeout {
     setverdict(fail);
  }
 }

 t_check.stop;
 
}


control{

 var MyRecord ModifiedValues  := {
  field1 := 1,
  field2 := false,
  field3 := 1,
  field4 := e_white,
  field5 := 1
 }

 //the following testcase will call a function with default port parameter
    execute(TC_Sem_05040104_parameters_of_kind_port_001_a(ModifiedValues,1,false,1,e_white,1));
 //the following testcase will call a function with an explicitly assigned port parameter
    execute(TC_Sem_05040104_parameters_of_kind_port_001_b(ModifiedValues,1,false,1,e_white,1));
    
}

}
Loading