Skip to content
Snippets Groups Projects
Commit a6db610a authored by Botond Baranyi's avatar Botond Baranyi Committed by Gerrit Code Review
Browse files

Merge "Refined checks in TmultiplePermutations.ttcn"

parents 7f822b91 2cf671bf
No related branches found
No related tags found
No related merge requests found
......@@ -19,11 +19,17 @@ type record of integer RoI;
type record of float RoF;
type record of charstring RoCS;
type record of RoI RoRoI;
type record of RoF RoRoF;
type record of RoCS RoRoCS;
type record Roios {
RoI roi,
octetstring os
}
modulepar template RoI mpt_roi := { };
type component CT_empty { };
type component CT_perm {
var template RoI vt_comp_perm := { permutation(1,2,3) };
......@@ -37,74 +43,193 @@ function f_do_nothing(in template RoI p_roi) runs on CT_empty return template Ro
return p_roi;
}
modulepar {
template RoI mpt_roi := { };
function f_roi_match_test(inout RoRoI pl_matching_values, in template RoI t_roi) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if(not match(pl_matching_values[i],t_roi)) {
setverdict(fail, i, ": ",match(pl_matching_values[i],t_roi) );
break; //?
}
}
setverdict(pass);
}
// Testing permutation with template variable in a component
testcase tc_mul_perm_component1() runs on CT_perm {
function f_roi_no_match_test(inout RoRoI pl_matching_values, in template RoI t_roi) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if( match(pl_matching_values[i],t_roi)) {
setverdict(fail," i: ", match( pl_matching_values[i],t_roi) );
break; //?
}
}
setverdict(pass);
}
//float
function f_rof_match_test(inout RoRoF pl_matching_values, in template RoF t_rof) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if(not match(pl_matching_values[i],t_rof)) {
setverdict(fail, i, match(pl_matching_values[i],t_rof) );
break; //?
}
}
setverdict(pass);
}
function f_rof_no_match_test(inout RoRoF pl_matching_values, in template RoF t_rof) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if( match(pl_matching_values[i],t_rof)) {
setverdict(fail);
break; //?
}
}
setverdict(pass);
}
//charstring
function f_rocs_match_test(inout RoRoCS pl_matching_values, in template RoCS t_rocs) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if(not match(pl_matching_values[i],t_rocs)) {
setverdict(fail, i,":", match(pl_matching_values[i],t_rocs) );
break; //?
}
}
setverdict(pass);
}
testcase tc_mul_perm_component2() runs on CT_perm {
function f_rocs_no_match_test(inout RoRoCS pl_matching_values, in template RoCS t_rocs) {
var integer vl_size := sizeof(pl_matching_values);
for(var integer i:= 0; i < vl_size ; i:=i+1) {
if( match(pl_matching_values[i],t_rocs)) {
setverdict(fail,i, ":", match(pl_matching_values[i],t_rocs));
break; //?
}
}
setverdict(pass);
}
//**** Test cases ****
// Testing permutation with template variable in a component
testcase tc_mul_perm_component1() runs on CT_perm {
vt_comp_perm := { permutation(4,5,6) };
var RoRoI vl_maching := { {4,5,6}, {4,6,5}, {5,4,6},{5,6,4}, {6,4,5},{6,5,4} }
var RoRoI vl_notmaching := {{}, {2}, {4},{4,5}, {4,5,7}, {4,5,6,6}, {4,5,6,7},{10,11,4,5,6} }
f_roi_match_test(vl_maching,vt_comp_perm);
f_roi_no_match_test(vl_notmaching, vt_comp_perm);
setverdict(pass);
}
// Testing multiple permutations on a template variable
testcase tc_mul_perm_var() runs on CT_empty {
var template RoI vt_roi := { permutation(2) };
var template RoI vt_roi := { permutation(4,5,6) };
var RoRoI vl_maching := { {3,4,7}, {3,7,4},{4,3,7}, {4,7,3}, {7,4,3},{7,3,4} }
var RoRoI vl_notmaching := {{2}, {2,3,4,7}, {}}
vt_roi := { permutation(3,4,7) };
f_roi_match_test(vl_maching,vt_roi);
f_roi_no_match_test(vl_notmaching, vt_roi);
setverdict(pass);
}
testcase tc_mul_perm_temp() runs on CT_empty {
var template RoI vt_roi := { permutation(5,2) };
vt_roi := t_perm1;
vt_roi := t_perm2;
vt_roi := t_perm2; //{1,2,permutation(5,?))}
var RoRoI vl_maching := { {1,2,5,6}, {1,2,6,5}, {1,2,99,5} }
var RoRoI vl_notmaching := { {2}, {6,5,4,3,2,1}, {1,2,6,6} }
f_roi_match_test(vl_maching,vt_roi);
f_roi_no_match_test(vl_notmaching, vt_roi);
setverdict(pass);
}
testcase tc_mul_perm_var2() runs on CT_empty {
var template RoI vt_roi1 := { permutation(1,2,3,4) };
var template RoI vt_roi2 := { permutation(5,6) };
vt_roi2 := valueof(vt_roi1) & { 10, 20, 30 };
vt_roi2 := t_perm2;
vt_roi2 := valueof(vt_roi1) & { 10, 20, 30 }; //result := { 1,2,3,4,10,20,30} ???
// log(vt_roi2); //{ 1, 2, 3, 4, 10, 20, 30 }
// log(t_perm2); //
vt_roi2 := t_perm2; //{1,2,permutation(5,?))}
// log(vt_roi2);
vt_roi1 := vt_roi2;
// log(vt_roi1);
vt_roi1 := vt_roi1;
log(vt_roi1); //{ 1, 2, permutation(5, ?) }
var RoRoI vl_maching := { {1,2,5,6}, {1,2,6,5}, {1,2,99,5} }
var RoRoI vl_notmaching := { {2}, {6,5,4,3,2,1}, {1,2,6,6} }
f_roi_match_test(vl_maching,vt_roi1);
f_roi_no_match_test(vl_notmaching, vt_roi1);
setverdict(pass);
}
//float:
testcase tc_mul_perm_var_f() runs on CT_empty {
var template RoF vt_rof := { 1.0, 0.0, permutation(9.5, *) };
vt_rof := { 0.0, permutation(1.0, 2.0, ?), 10.0, permutation(2.73, 3.14, *) };
vt_rof := { permutation( (0.0 .. 1.0) ) };
vt_rof := { -1.0, permutation( (0.0 .. 1.0), 2.0, 3.0 ) }; //???
var RoRoF vl_maching := { {-1.0, 0.0, 2.0, 3.0}, {-1.0, 0.2, 3.0, 2.0} }
var RoRoF vl_notmaching := { {}, {-1.0}, {0.0}, {-1.0, 0.2, 3.0} , {-1.0, 0.0, 2.0, 3.0, 4.0} }
f_rof_match_test(vl_maching,vt_rof);
f_rof_no_match_test(vl_notmaching, vt_rof);
setverdict(pass);
}
//charstring
testcase tc_mul_perm_var_cs() runs on CT_empty {
var template RoCS vt_rocs := { "one", "two", permutation("six", "seven", "eight") };
vt_rocs := { permutation("cat", "dog", pattern "a*d" length (4..10) ) };
vt_rocs := { permutation( ("a".."f") ) };
vt_rocs := { permutation("cat", "dog", pattern "a*d" length (4..10) ) };
var RoRoCS vl_maching := { {"cat", "dog", "axxd"}, { "dog", "cat", "a12345678d"} }
var RoRoCS vl_notmaching := { {}, {"cat", "dog", "axd"}, { "dog", "cat", "a123456789d"} }
f_rocs_match_test(vl_maching,vt_rocs);
f_rocs_no_match_test(vl_notmaching, vt_rocs);
setverdict(pass);
}
testcase tc_mul_perm_func() runs on CT_empty {
var template RoI vt_roi := { 1, 2, permutation(6,7,8) };
vt_roi := f_do_nothing(vt_roi);
var RoRoI vl_maching := { {1,2,6,7,8}, {1,2,6,8,7}, {1,2,8,7,6} } //etc
var RoRoI vl_notmaching := { {}, {2}, {2,1,6,7,8}, {1,2,6,7,9},{1,2,6,7,8,9} }
setverdict(pass);
}
testcase tc_mul_perm_modulepar() runs on CT_empty {
var template RoI vt_roi := { permutation(8,9) };
vt_roi := mpt_roi;
vt_roi := mpt_roi;//{ permutation(1,2,3), 10 }
vt_roi := { permutation(8,9,10) };
var RoRoI vl_maching := { {8,9,10},{8,10,9},{9,8,10}} //etc
var RoRoI vl_notmaching := { {}, {8}, {8,9,10,11} }
f_roi_match_test(vl_maching,vt_roi);
f_roi_no_match_test(vl_notmaching, vt_roi);
setverdict(pass);
}
testcase tc_mul_perm_modulepar2() runs on CT_empty {
var template RoI vt_roi := { permutation(8,9) };
vt_roi := mpt_roi;//{ permutation(1,2,3), 10 }
var RoRoI vl_maching := { {1,2,3,10},{1,3,2,10}} //etc
var RoRoI vl_notmaching := { {}, {1}, {1,2,10},{10,1,2,3} }
f_roi_match_test(vl_maching,vt_roi);
f_roi_no_match_test(vl_notmaching, vt_roi);
setverdict(pass);
}
testcase tc_mul_perm_all_from() runs on CT_empty {
var template RoI vt_roi := { 1, 2, permutation(3, 4, all from t_simple ) };
vt_roi := { permutation(-2, -1, all from t_simple) };
vt_roi := { -2, -1, permutation(all from t_simple) };
vt_roi := { -2, -1, permutation(all from t_simple) };// {-2,-1, permutation(6,7,8)}
var RoRoI vl_maching := { {-2,-1,6,7,8}, {-2,-1,8,7,6} } //etc
var RoRoI vl_notmaching := { {}, {2}, {2,1,6,7,8}, {-2,-1},{-2,-1,6,8,9}, {-2,-1,8,7,6,6} }
f_roi_match_test(vl_maching,vt_roi);
f_roi_no_match_test(vl_notmaching, vt_roi);
setverdict(pass);
}
......@@ -119,13 +244,18 @@ testcase tc_mul_perm_var3() runs on CT_empty {
testcase tc_mul_perm_field() runs on CT_empty {
var template Roios vt_roios := { { permutation (1, 2, 3) } , 'DEAD'O };
vt_roios.roi := { 1, permutation(2, 3) };
vt_roios.roi := { permutation(7, lengthof(vt_roios.roi)), 19 };
setverdict(pass);
vt_roios.roi := { permutation(7, lengthof(vt_roios.roi)), 19 }; //perm(7,3),19}
var template Roios vt_expected := { { permutation(7,3),19}, 'DEAD'O }
log(vt_roios);
if( log2str(vt_roios) == log2str(vt_expected)) {
setverdict(pass);
} else {
setverdict(fail)
}
}
control {
execute(tc_mul_perm_component1());
execute(tc_mul_perm_component2());
execute(tc_mul_perm_var());
execute(tc_mul_perm_temp());
execute(tc_mul_perm_var2());
......@@ -133,6 +263,7 @@ control {
execute(tc_mul_perm_var_cs());
execute(tc_mul_perm_func());
execute(tc_mul_perm_modulepar());
execute(tc_mul_perm_modulepar2());
execute(tc_mul_perm_all_from());
execute(tc_mul_perm_var3());
execute(tc_mul_perm_field());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment