%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 2001-2010. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. %% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. %% %% %CopyrightEnd% %% %% -module(testSeqSetDefaultVal). -include("External.hrl"). -export([compile/2]). -export([main/1]). -include_lib("test_server/include/test_server.hrl"). -record('SeqInts',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('SetInts',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('SeqBS',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('SetBS',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('SeqOS',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SetOS',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SeqOI',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SetOI',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SeqEnum',{a = asn1_DEFAULT, b = asn1_DEFAULT}). -record('SetEnum',{a = asn1_DEFAULT, b = asn1_DEFAULT}). -record('SeqIntBool',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SeqIntBool_a',{aa = asn1_DEFAULT, ab = asn1_DEFAULT}). -record('SetIntBool',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT}). -record('SetIntBool_a',{aa = asn1_DEFAULT, ab = asn1_DEFAULT}). -record('SeqStrings',{a = asn1_DEFAULT, b1 = asn1_DEFAULT, b2 = asn1_DEFAULT, b3 = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('SetStrings',{a = asn1_DEFAULT, b1 = asn1_DEFAULT, b2 = asn1_DEFAULT, b3 = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('S1',{a = asn1_DEFAULT, b = asn1_DEFAULT}). -record('S1_a',{aa = asn1_DEFAULT, ab = asn1_DEFAULT}). -record('S2',{a = asn1_DEFAULT, b=asn1_NOVALUE}). -record('S3',{a = asn1_DEFAULT, b = asn1_DEFAULT, c = asn1_DEFAULT, d = asn1_DEFAULT}). -record('S3set',{a = asn1_DEFAULT, b = asn1_DEFAULT}). -record('S4',{a = asn1_DEFAULT, b = asn1_DEFAULT}). -record('S4_b',{ba = asn1_DEFAULT, bb = asn1_DEFAULT}). compile(Config,Rules) -> ?line DataDir = ?config(data_dir,Config), ?line OutDir = ?config(priv_dir,Config), ?line true = code:add_patha(?config(priv_dir,Config)), ?line ok = asn1ct:compile(DataDir ++ "Default", [Rules,der,{outdir,OutDir}]). main(_Rules) -> ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqInts',#'SeqInts'{}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqInts',#'SeqInts'{a=1,b=-1,c=three, d=1}), ?line {ok,{'SeqInts',1,-1,3,1}} = asn1_wrapper:decode('Default','SeqInts',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetInts',#'SetInts'{}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetInts',#'SetInts'{a=1,b=-1,c=three, d=1}), ?line {ok,{'SetInts',1,-1,3,1}} = asn1_wrapper:decode('Default','SetInts',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqBS', #'SeqBS'{a=2#1010110, b=16#A8A, c=[second], d=[1,0,0,1]}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqBS', #'SeqBS'{a=[1,0,1,0,1,1,0], b=[1,0,1,0,1,0,0,0,1,0,1,0], c={5,<<64>>}, d=9}), ?line {ok,[48,3,131,1,0]} = asn1_wrapper:encode('Default','SeqBS', #'SeqBS'{a=[1,0,1,0,1,1,0], b=[1,0,1,0,1,0,0,0,1,0,1,0], c={5,<<64>>}, d=0}), ?line {ok,{'SeqBS',[1,0,1,0,1,1,0],2698,[second],[]}} = asn1_wrapper:decode('Default','SeqBS',[48,3,131,1,0]), ?line {ok,{'SeqBS',[1,0,1,0,1,1,0],2698,[second],[1,0,0,1]}} = asn1_wrapper:decode('Default','SeqBS',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetBS', #'SetBS'{a=2#1010110, b=16#A8A, c=[second], d=[1,0,0,1]}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetBS', #'SetBS'{a=[1,0,1,0,1,1,0], b=[1,0,1,0,1,0,0,0,1,0,1,0], c={5,<<64>>}, d=9}), ?line {ok,[49,3,131,1,0]} = asn1_wrapper:encode('Default','SetBS', #'SetBS'{a=[1,0,1,0,1,1,0], b=[1,0,1,0,1,0,0,0,1,0,1,0], c={5,<<64>>}, d=0}), ?line {ok,{'SetBS',[1,0,1,0,1,1,0],2698,[second],[]}} = asn1_wrapper:decode('Default','SetBS',[49,3,131,1,0]), ?line {ok,{'SetBS',[1,0,1,0,1,1,0],2698,[second],[1,0,0,1]}} = asn1_wrapper:decode('Default','SetBS',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqOS', #'SeqOS'{a=[172], b=[16#A8,16#A0], c='NULL'}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqOS', #'SeqOS'{a=2#10101100, b=16#A8A0, c='NULL'}), ?line {ok,{'SeqOS',[172],[16#A8,16#A0],'NULL'}} = asn1_wrapper:decode('Default','SeqOS',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetOS', #'SetOS'{a=[172], b=[16#A8,16#A0], c='NULL'}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetOS', #'SetOS'{a=2#10101100, b=16#A8A0, c='NULL'}), ?line {ok,{'SetOS',[172],[16#A8,16#A0],'NULL'}} = asn1_wrapper:decode('Default','SetOS',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqOI', #'SeqOI'{a={1,2,14,15}, b={iso,'member-body',250,3,4}, c={iso,standard,8571,2,250,4}}), ?line {ok,{'SeqOI',{1,2,14,15},{1,2,250,3,4},{1,0,8571,2,250,4}}} = asn1_wrapper:decode('Default','SeqOI',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetOI', #'SetOI'{a={1,2,14,15}, b={iso,'member-body',250,3,4}, c={iso,standard,8571,2,250,4}}), ?line {ok,{'SetOI',{1,2,14,15},{1,2,250,3,4},{1,0,8571,2,250,4}}} = asn1_wrapper:decode('Default','SetOI',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqEnum',#'SeqEnum'{a=b4,b=b2}), ?line {ok,{'SeqEnum',b4,b2}} = asn1_wrapper:decode('Default','SeqEnum',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetEnum',#'SetEnum'{a=b4,b=b2}), ?line {ok,{'SetEnum',b4,b2}} = asn1_wrapper:decode('Default','SetEnum',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqIntBool', #'SeqIntBool'{a=#'SeqIntBool_a'{aa=12,ab=13}, b=#'S2'{a=14,b=true}, c=#'S2'{a=15,b=false}}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqIntBool', #'SeqIntBool'{}), ?line {ok,{'SeqIntBool',{'SeqIntBool_a',12,13}, {'S2',14,true},{'S2',15,false}}} = asn1_wrapper:decode('Default','SeqIntBool',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetIntBool', #'SetIntBool'{a=#'SetIntBool_a'{aa=12,ab=13}, b=#'S2'{a=14,b=true}, c=#'S2'{a=15,b=false}}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetIntBool', #'SetIntBool'{}), ?line {ok,{'SetIntBool',{'SetIntBool_a',12,13}, {'S2',14,true},{'S2',15,false}}} = asn1_wrapper:decode('Default','SetIntBool',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','SeqStrings', #'SeqStrings'{a="123456789", b1="abcdef", b2={0,13}, b3={"First line",{0,13},"Second line"}, c="Printable string", d={0,0,1,14}}), ?line {ok,{'SeqStrings',"123456789","abcdef",[0,13], ["First line",[0,13],"Second line"],"Printable string", [0,0,1,14]}} = asn1_wrapper:decode('Default','SeqStrings',[48,0]), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','SetStrings', #'SetStrings'{a="123456789", b1="abcdef", b2={0,13}, b3={"First line",{0,13},"Second line"}, c="Printable string", d={0,0,1,14}}), ?line {ok,{'SetStrings',"123456789","abcdef",[0,13], ["First line",[0,13],"Second line"],"Printable string", [0,0,1,14]}} = asn1_wrapper:decode('Default','SetStrings',[49,0]), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','S1', #'S1'{a=#'S1_a'{aa=1, ab=#'S2'{a=2,b=true}}, b=#'S4'{a=#'S2'{a=2,b=true}, b=#'S4_b'{ba=true, bb=5}}}), ?line {ok,{'S1',{'S1_a',1,{'S2',2,true}}, {'S4',{'S2',2,true},{'S4_b',true,5}}}} = asn1_wrapper:decode('Default','S1',[48,0]), ?line {ok,[48,3,129,1,255]} = asn1_wrapper:encode('Default','S2', #'S2'{a=1,b=true}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','S3', #'S3'{a=[11,12,13], b=[{a,11},{b,true},{c,13}], c=[1,2,3,4], d=[#'S2'{a=20,b=true},#'S2'{a=30,b=false}]}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','S3', #'S3'{a=[11,13,12], b=[{b,true},{a,11},{c,13}], c=[3,4,1,2], d=[#'S2'{a=30,b=false},#'S2'{a=20,b=true}]}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','S3',#'S3'{}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','S3set', #'S3set'{a=[{c,#'S2'{a=3,b=true}}, {b,17},{a,false}], b=[1,2,3,4]}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','S3set', #'S3set'{a=[{b,17},{c,#'S2'{a=3,b=true}}, {a,false}], b=[1,3,4,2]}), ?line {ok,[49,0]} = asn1_wrapper:encode('Default','S3set',#'S3set'{}), ?line {ok,[48,0]} = asn1_wrapper:encode('Default','S4',#'S4'{a={'S2',1,asn1_NOVALUE}, b=#'S4_b'{ba=true,bb=0}}), ok.