From cdcaa818cb8a7d2da759e7a5a02be56307ea39f7 Mon Sep 17 00:00:00 2001 From: balaskoa <Jeno.Balasko@ericsson.com> Date: Wed, 6 Nov 2019 13:16:17 +0100 Subject: [PATCH] New testcases for handling TitanUniversalCharString_Element Signed-off-by: balaskoa <Jeno.Balasko@ericsson.com> Change-Id: I6f5060032b0feda06f64764dba8ec6dfe2809db7 --- .../ucharstrOper/TucharstrOper.ttcn | 90 ++++++++++++++++++- .../ucharstrOper/cstr_content.ttcn | 11 --- 2 files changed, 89 insertions(+), 12 deletions(-) diff --git a/regression_test/ucharstrOper/TucharstrOper.ttcn b/regression_test/ucharstrOper/TucharstrOper.ttcn index 007b085fb..9fc600940 100644 --- a/regression_test/ucharstrOper/TucharstrOper.ttcn +++ b/regression_test/ucharstrOper/TucharstrOper.ttcn @@ -57,7 +57,7 @@ testcase tc_ucharstr_assign_comp1() runs on ucharstrOper_comptype { } else { setverdict(fail,"expected ", exp, " got ",u); } - //check side effect: + //check side effect: u:= "2"; if (u == "2") { setverdict(pass) @@ -600,6 +600,87 @@ testcase ucharstr_Bug520457() runs on ucharstrOper_comptype { setverdict(pass); } +// === String_Element tests === + +type component CT{ + port UCSPort UCS + timer T +} + +type port UCSPort message { + inout universal charstring +} with { extension "internal" } + +// String_Element in func. arg. +function f_ucs(in universal charstring ucs) return universal charstring { + return ucs; +} + +testcase tc_ucs() runs on CT { + var universal charstring vl_ucs1 := char(0,0,0,1) & char(0,0,0,20), vl_ucs2 + vl_ucs2 := f_ucs(vl_ucs1[1]); + if( vl_ucs2 == char(0,0,0,20)) {setverdict(pass)} else { setverdict(fail)} +} + +//ucs / altstep + +altstep as_ucs(in universal charstring str) runs on CT { + var template universal charstring vl_str := ? + var universal charstring r; + [] UCS.receive(vl_str) -> value r { if ( r == str) { setverdict(pass) } } + [] T.timeout { setverdict(fail, "timeout")} +} + +testcase tc_altstep_ucs() runs on CT { + var universal charstring vl_str := char(0,0,0,1) & char(0,0,0,20); + connect(self:UCS, self:UCS); + T.start(1.0); + UCS.send(vl_str); + as_ucs(vl_str); + T.stop; +} + +testcase tc_altstep_ucs_idx() runs on CT { + var universal charstring vl_str := char(0,0,0,1) & char(0,0,0,20) + T.start(1.0); + connect(self:UCS, self:UCS); + UCS.send(vl_str[0]); //<====== This is compiled for an erroneous code + as_ucs(vl_str[0]); + T.stop; +} + +altstep as_ucs_template(in template universal charstring str) runs on CT { + var template universal charstring vl_str := ?; + var universal charstring r; + [] UCS.receive(vl_str) -> value r { if ( r == valueof(str)) { setverdict(pass) } } + [] T.timeout { setverdict(fail, "timeout")} +} + +testcase tc_altstep_ucs_template() runs on CT { + var template universal charstring vl_str := char(0,0,0,1) & char(0,0,0,20); + connect(self:UCS, self:UCS); + T.start(1.0); + UCS.send(vl_str); + as_ucs_template(vl_str); + T.stop; +} + +testcase tc__value_list_ucs() runs on CT { + var universal charstring vl_cs1 := char(0,0,0,1) & char(0,0,0,20), vl_cs2 + var template universal charstring vlt_cs := (vl_cs1[0], vl_cs1[1],vl_cs1); //<====== ok + vl_cs2 := char(0,0,0,1); + if( match(vl_cs2,vlt_cs)) {setverdict(pass)} else { setverdict(fail)} + vl_cs2 := char(0,0,0,20); + if( match(vl_cs2,vlt_cs)) {setverdict(pass)} else { setverdict(fail)} +} + +testcase tc__match_ucs_idx() runs on CT { + var universal charstring vl_cs1 := char(0,0,0,1) & char(0,0,0,20); + var template universal charstring vlt_cs := ( char(0,0,0,1), char(0,0,0,20)); //ok + if( match(vl_cs1[0],vlt_cs)) {setverdict(pass)} else { setverdict(fail)} +} + + control { const universal charstring cl_1 := char(0, 0, 0, 0) const universal charstring cl_2 := "abcxyz" @@ -635,5 +716,12 @@ control { execute(ucharstrIsbound()); execute(CR_TR00018474()); execute(ucharstr_Bug520457()); + + execute(tc_ucs()); + execute(tc_altstep_ucs()); + execute(tc_altstep_ucs_idx()); + execute(tc_altstep_ucs_template()); + execute(tc__value_list_ucs()); + execute(tc__match_ucs_idx()); } } diff --git a/regression_test/ucharstrOper/cstr_content.ttcn b/regression_test/ucharstrOper/cstr_content.ttcn index 946d334f4..b315c1379 100644 --- a/regression_test/ucharstrOper/cstr_content.ttcn +++ b/regression_test/ucharstrOper/cstr_content.ttcn @@ -410,16 +410,6 @@ testcase tc_indexing_HT70680() runs on empty } -function f_ucs(in universal charstring ucs) return universal charstring { - return ucs; -} - -testcase tc_ucs() runs on empty { - var universal charstring vl_ucs1 := char(0,0,0,1) & char(0,0,0,20), vl_ucs2 - vl_ucs2 := f_ucs(vl_ucs1[1]); - if( vl_ucs2 == char(0,0,0,20)) {setverdict(pass)} else { setverdict(fail)} -} - control { execute(tc_charstring_content()); execute(tc_cpp_test()); @@ -431,7 +421,6 @@ control { execute(tc_unichar_utf8_mp2()); execute(tc_unichar_utf8_template()); execute(tc_indexing_HT70680()); - execute(tc_ucs()); } } -- GitLab