Commit be73f05f authored by kovacsa's avatar kovacsa
Browse files

Chapter 16 update

parent 5ff66648
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT correctly handles function invocations
 ** @verdict  pass accept, ttcn3verdict:pass
 ***************************************************/
module Sem_160101_invoking_functions_001 {


type component GeneralComp {	
 var integer v_gc:=0;    	    
}
	
function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer {

 v_gc:=v_gc+p_integer;
 return v_gc;
}

testcase TC_Sem_160101_invoking_functions_001 () runs on GeneralComp {
	var integer v_result:=0;

	f_test();
	f_test(1);
	v_result:=f_test(1);
 	if( (v_result==2) & (f_test()==2) ) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
}


control{

    execute(TC_Sem_160101_invoking_functions_001());

}

}
+37 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT correctly handles function definitions
 ** @verdict  pass reject
 ***************************************************/
module NegSem_1601_toplevel_001 {


type component GeneralComp {	    	    
}
	
function f_test ( integer p_integer := 0 ) return float {

 return p_integer+1;		// mismatch between return type and argument type
 return p_integer+2;
}

testcase TC_NegSem_1601_toplevel_001 () runs on GeneralComp {

 	if(f_test(1)==2) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
}


control{

    execute(TC_NegSem_1601_toplevel_001());

}

}
+37 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT correctly handles function definitions
 ** @verdict  pass reject
 ***************************************************/
module NegSem_1601_toplevel_002 {


type component GeneralComp {	    	    
}
	
function f_test ( template octetstring p_ostring := 0 ) return octetstring {

 return p_ostring & p_ostring;		// mismatch between return type and argument type
 return p_ostring & p_ostring & p_ostring;
}

testcase TC_NegSem_1601_toplevel_002 () runs on GeneralComp {

 	if( match(f_test('FF??'O),'FFFFFFFF'O) ) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
}


control{

    execute(TC_NegSem_1601_toplevel_002());

}

}
+43 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT correctly handles function definitions
 ** @verdict  pass reject
 ***************************************************/
module NegSem_1601_toplevel_003 {


type component GeneralComp {	
	var integer v_comp:=1;    	    
}
	
function f_test ( integer p_integer := 0 ) return integer {	

 return f_two(p_integer);  	//against restriction 16.1 / a)
}

function f_two ( integer p_integer := 0 ) runs on GeneralComp return integer {

 return p_integer+v_comp;
}


testcase TC_NegSem_1601_toplevel_003 () runs on GeneralComp {

 	if(f_test(1)==2) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
}


control{

    execute(TC_NegSem_1601_toplevel_003());

}

}
+37 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 409 
 ** @version  $Rev$
 ** @purpose  1:5.4, Ensure that the IUT correctly handles function definitions
 ** @verdict  pass reject
 ***************************************************/
module NegSem_1601_toplevel_004 {


type component GeneralComp {	    	    
}
	
function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer {

 return p_integer+1;
}

testcase TC_NegSem_1601_toplevel_004 () runs on GeneralComp {

 	if(f_test(1)==2) {
        setverdict(pass);
    }
    else {
        setverdict(fail);
    }		
 
}


control{

	f_test(1);	//attempt to invoke a function with runs on clause
    execute(TC_NegSem_1601_toplevel_004());

}

}
Loading