/******************************************************************************
* Copyright (c) 2000-2016 Ericsson Telecom AB
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Balasko, Jeno
* Raduly, Csaba
*
******************************************************************************/
module AnnexB1Template
{
import from AnnexB1 all;
import from Flattener { function all }
modulepar boolean AnnexB1Template_verbose := false;
#define verbose AnnexB1Template_verbose
#include "../macros.ttcnin"
template Shiporder t_Shiporder:={
orderid:="18920320_17",
orderperson:="Dr.Watson",
shipto:=
{
name:="Sherlock Holmes",
address_1:="Baker Street 221B",
city:="London",
country:="England"
},
item:=
{
title:="Memoirs",
note:= omit,
quantity:=2,
price:=10632191074844.699219 // U.S. national debt
}
}
type component air {}
DECLARE_EXER_ENCODERS(Shiporder, shp)
DECLARE_XER_ENCODERS(Shiporder, shp)
const universal charstring expected :=
//"\n" &
"\n" &
"\tDr.Watson\n" &
"\t\n" &
"\t\tSherlock Holmes\n" &
"\t\tBaker Street 221B\n" &
"\t\tLondon\n" &
"\t\tEngland\n" &
"\t\n" &
"\t- \n" &
"\t\tMemoirs\n" &
"\t\t2\n" &
"\t\t10632191074844.699219\n" &
"\t
\n" &
"\n" &
"\n";
const universal charstring expected_basic :=
//"\n" &
"\n" &
"\t18920320_17\n" &
"\tDr.Watson\n" &
"\t\n" &
"\t\tSherlock Holmes\n" &
"\t\tBaker Street 221B\n" &
"\t\tLondon\n" &
"\t\tEngland\n" &
"\t\n" &
"\t- \n" &
"\t\tMemoirs\n" &
"\t\t2\n" &
"\t\t1.063219e+13\n" &
"\t
\n" &
"\n" &
"\n";
testcase encode_order() runs on air
{
CHECK_METHOD(exer_enc_shp, valueof(t_Shiporder), expected);
CHECK_METHOD(bxer_enc_shp, valueof(t_Shiporder), expected_basic);
}
testcase decode_order() runs on air
{
CHECK_DECODE(exer_dec_shp, expected , Shiporder, t_Shiporder);
CHECK_DECODE(exer_dec_shp, flatten(expected), Shiporder, t_Shiporder);
CHECK_DECODE(bxer_dec_shp, expected_basic , Shiporder, t_Shiporder);
}
control {
execute(encode_order())
}
}//end module