1%% 2%% %CopyrightBegin% 3%% 4%% Copyright Ericsson AB 1997-2016. All Rights Reserved. 5%% 6%% Licensed under the Apache License, Version 2.0 (the "License"); 7%% you may not use this file except in compliance with the License. 8%% You may obtain a copy of the License at 9%% 10%% http://www.apache.org/licenses/LICENSE-2.0 11%% 12%% Unless required by applicable law or agreed to in writing, software 13%% distributed under the License is distributed on an "AS IS" BASIS, 14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15%% See the License for the specific language governing permissions and 16%% limitations under the License. 17%% 18%% %CopyrightEnd% 19%% 20%% 21-module(testOpt). 22-export([main/1]). 23 24-include_lib("common_test/include/ct.hrl"). 25 26-record('Opt1',{bool0, 27 bool1 = asn1_NOVALUE, 28 bool2 = asn1_NOVALUE, 29 bool3 = asn1_NOVALUE}). 30 31-record('Opt2',{bool10, 32 bool11 = asn1_NOVALUE, 33 bool12 = asn1_NOVALUE, 34 bool13}). 35 36-record('Opt3',{bool30 = asn1_NOVALUE, 37 bool31 = asn1_NOVALUE, 38 bool32 = asn1_NOVALUE, 39 bool33 = asn1_NOVALUE}). 40 41main(_Rules) -> 42 roundtrip('Opt1', #'Opt1'{bool0=true,bool1=true,bool2=true,bool3=true}), 43 roundtrip('Opt1', #'Opt1'{bool0=true,bool1=asn1_NOVALUE,bool2=asn1_NOVALUE, 44 bool3=asn1_NOVALUE}), 45 roundtrip('Opt1', #'Opt1'{bool0=true,bool1=asn1_NOVALUE,bool2=false,bool3=asn1_NOVALUE}), 46 roundtrip('Opt1', #'Opt1'{bool0=false,bool1=asn1_NOVALUE,bool2=asn1_NOVALUE,bool3=false}), 47 48 roundtrip('Opt2', #'Opt2'{bool10=false,bool11=false,bool12=false,bool13=false}), 49 roundtrip('Opt2', #'Opt2'{bool10=true,bool11=asn1_NOVALUE,bool12=asn1_NOVALUE, 50 bool13=false}), 51 roundtrip('Opt2', #'Opt2'{bool10=true,bool11=false,bool12=asn1_NOVALUE,bool13=false}), 52 roundtrip('Opt2', #'Opt2'{bool10=false,bool11=asn1_NOVALUE,bool12=false,bool13=false}), 53 54 roundtrip('Opt3', #'Opt3'{bool30=false,bool31=false,bool32=false,bool33=false}), 55 roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE, 56 bool33=asn1_NOVALUE}), 57 roundtrip('Opt3', #'Opt3'{bool30=true,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE, 58 bool33=asn1_NOVALUE}), 59 roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=false, 60 bool33=asn1_NOVALUE}), 61 roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE, 62 bool33=false}), 63 ok. 64 65roundtrip(Type, Value) -> 66 asn1_test_lib:roundtrip('Opt', Type, Value). 67