diff --git a/regression_test/boolOper/TboolOper.ttcn b/regression_test/boolOper/TboolOper.ttcn index b3d9d8d598e5b0f024dcf2120a403176a635c53d..5edc81626c504b8d1db262cd14586dcbd6497a1e 100644 --- a/regression_test/boolOper/TboolOper.ttcn +++ b/regression_test/boolOper/TboolOper.ttcn @@ -18,6 +18,8 @@ module TboolOper { modulepar boolean tsp_uninit; +modulepar boolean tsp_init := true; + const boolean TboolOper_const1:=true; type component boolOper_comptype { }; @@ -383,6 +385,15 @@ testcase boolUninitNot() runs on boolOper_comptype { } } +testcase boolUninitLog() runs on boolOper_comptype { + var boolean x1; + if (log2str(x1) == "<unbound>") { + setverdict(pass, "x1: ",x1); + } else { + setverdict(fail); + } +} + testcase boolUninitTemplate() runs on boolOper_comptype { var template boolean x2; var boolean x1; @@ -410,7 +421,7 @@ testcase boolUninitTemplate() runs on boolOper_comptype { } } -testcase boolUninitModulepar() runs on boolOper_comptype { +testcase boolModulepar() runs on boolOper_comptype { var template boolean x2; var boolean x1 := true; @try { @@ -435,6 +446,17 @@ testcase boolUninitModulepar() runs on boolOper_comptype { //check e setverdict(pass); } + if (true != tsp_init) { + setverdict(fail); + } + if (log2str(tsp_uninit) == "<unbound>") { + setverdict(pass); + } else { + setverdict(fail); + } + if (log2str(tsp_init) != "true") { + setverdict(fail); + } } type boolean myb1 @@ -477,6 +499,13 @@ testcase boolIsvalue() runs on boolOper_comptype{ if ( isvalue(vt0) ) { setverdict(fail); } else { setverdict(pass); }; if ( isvalue(vt1) ) { setverdict(fail); } else { setverdict(pass); }; + + var boolean x1 := true; + if (isvalue(x1) ){ + setverdict (pass); + } else { + setverdict (fail); + } } type union TestUnion { @@ -533,6 +562,15 @@ testcase boolShortCircuit() runs on boolOper_comptype { setverdict(pass); } +testcase boolUnion() runs on boolOper_comptype { + // create a union variable, make sure the boolean field is not chosen + var TestUnion myUnion := { b := true }; + if (ischosen(myUnion.b)) { + setverdict(pass,"The value of the field: ", myUnion.b); + } + +} + type record MyRecord { integer a optional } @@ -565,8 +603,10 @@ control { execute(boolUninitOr()); execute(boolUninitAnd()); execute(boolUninitNot()); + execute(boolUninitLog()); execute(boolUninitTemplate()); - execute(boolUninitModulepar()); + execute(boolModulepar()); + execute(boolUnion()); } }