diff --git a/asn1c_combined/generated-files/2016.tar.gz b/asn1c_combined/generated-files/2016.tar.gz index 95ea9bd4..c8ca91f6 100644 Binary files a/asn1c_combined/generated-files/2016.tar.gz and b/asn1c_combined/generated-files/2016.tar.gz differ diff --git a/asn1c_combined/generated-files/2020.tar.gz b/asn1c_combined/generated-files/2020.tar.gz index 4de059a4..33465ebf 100644 Binary files a/asn1c_combined/generated-files/2020.tar.gz and b/asn1c_combined/generated-files/2020.tar.gz differ diff --git a/asn1c_combined/generated-files/2024.tar.gz b/asn1c_combined/generated-files/2024.tar.gz index abd116c6..3a5a7a0d 100644 Binary files a/asn1c_combined/generated-files/2024.tar.gz and b/asn1c_combined/generated-files/2024.tar.gz differ diff --git a/asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0_070616.asn b/asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0.1_060325.asn similarity index 95% rename from asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0_070616.asn rename to asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0.1_060325.asn index 6b1e38be..e51049ac 100644 --- a/asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0_070616.asn +++ b/asn1c_combined/semi-asn-files/2016/SEMI_v2.3.0.1_060325.asn @@ -1,6 +1,7 @@ --- Version: 2.3.0-draft --- Date: 2016-07-06 --- Updated by Frank perry at Leidos +-- Version: 2.3.0.1-draft +-- Date: 2025-06-03 +-- Updated by Daniel McCoy Stephenson at Trihydro Corporation +-- Previously updated by Frank perry at Leidos -- Developed by Purser Sturgeon II -- at Southwest Research Institute -- for the USDOT Connected Vehicle Test Bed @@ -28,6 +29,7 @@ -- Add TimeToLive to ServiceRecord -- Changed Weather/wipers/DSRC.WiperStatusFront to DSRC.WiperStatus -- Changed Weather/wipers/DSRC.WiperStatusRear to DSRC.WiperStatus +-- 2.3.0.1: Updated OCTET STRING constraint for advisoryMessage to (0..7000) to support multi-region ASD TIMs SEMI DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -411,13 +413,13 @@ AdvisoryDetails ::= SEQUENCE { distType DistributionType, startTime DSRC.DFullTime OPTIONAL, stopTime DSRC.DFullTime OPTIONAL, - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } AdvisoryBroadcast ::= SEQUENCE { messagePsid Psid, -- PSID of advisory message broadcastInst BroadcastInstructions OPTIONAL, -- Broadcast instructions - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } BroadcastInstructions ::= SEQUENCE { diff --git a/asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0_121223_j2020.asn b/asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0.1_060325_j2020.asn similarity index 96% rename from asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0_121223_j2020.asn rename to asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0.1_060325_j2020.asn index 38d8a0dc..73209dad 100644 --- a/asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0_121223_j2020.asn +++ b/asn1c_combined/semi-asn-files/2020/SEMI_v2.4.0.1_060325_j2020.asn @@ -1,5 +1,5 @@ --- Version: 2.4.0-draft --- Date: 2023-12-12 +-- Version: 2.4.0.1-draft +-- Date: 2025-06-03 -- Updated by Daniel McCoy Stephenson at Trihydro -- Previously updated by Frank perry at Leidos -- Developed by Purser Sturgeon II @@ -30,6 +30,7 @@ -- Changed Weather/wipers/DSRC.WiperStatusFront to DSRC.WiperStatus -- Changed Weather/wipers/DSRC.WiperStatusRear to DSRC.WiperStatus -- 2.4.0: Imported dependencies from J2735 ASN 2020 files +-- 2.4.0.1: Updated OCTET STRING constraint for advisoryMessage to (0..7000) to support multi-region ASD TIMs SEMI DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -436,13 +437,13 @@ AdvisoryDetails ::= SEQUENCE { distType DistributionType, startTime DFullTime OPTIONAL, stopTime DFullTime OPTIONAL, - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } AdvisoryBroadcast ::= SEQUENCE { messagePsid Psid, -- PSID of advisory message broadcastInst BroadcastInstructions OPTIONAL, -- Broadcast instructions - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } BroadcastInstructions ::= SEQUENCE { diff --git a/asn1c_combined/semi-asn-files/2024/SEMI_v2.4.1_111524_j2024.asn b/asn1c_combined/semi-asn-files/2024/SEMI_v2.4.2_050925_j2024.asn similarity index 95% rename from asn1c_combined/semi-asn-files/2024/SEMI_v2.4.1_111524_j2024.asn rename to asn1c_combined/semi-asn-files/2024/SEMI_v2.4.2_050925_j2024.asn index b83a7c39..91c086cc 100644 --- a/asn1c_combined/semi-asn-files/2024/SEMI_v2.4.1_111524_j2024.asn +++ b/asn1c_combined/semi-asn-files/2024/SEMI_v2.4.2_050925_j2024.asn @@ -1,7 +1,7 @@ --- Version: 2.4.1-draft --- Date: 2024-11-15 --- Updated by Ivan Yourshaw at Neaera Consulting --- Previously updated by Daniel McCoy Stephenson at Trihydro +-- Version: 2.4.2-draft +-- Date: 2025-05-09 +-- Updated by Daniel McCoy Stephenson at Trihydro Corporation +-- Previously updated by Ivan Yourshaw at Neaera Consulting -- Previously updated by Frank perry at Leidos -- Developed by Purser Sturgeon II -- at Southwest Research Institute @@ -32,6 +32,7 @@ -- Changed Weather/wipers/DSRC.WiperStatusRear to DSRC.WiperStatus -- 2.4.0: Imported dependencies from J2735 ASN 2020 files -- 2.4.1: Update OIDs for imported modules to match J2735 2024 ASN files +-- 2.4.2: Updated OCTET STRING constraint for advisoryMessage to (0..7000) to support multi-region ASD TIMs SEMI DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -441,13 +442,13 @@ AdvisoryDetails ::= SEQUENCE { distType DistributionType, startTime DFullTime OPTIONAL, stopTime DFullTime OPTIONAL, - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } AdvisoryBroadcast ::= SEQUENCE { messagePsid Psid, -- PSID of advisory message broadcastInst BroadcastInstructions OPTIONAL, -- Broadcast instructions - advisoryMessage OCTET STRING (SIZE(0..1400)) -- Encoded advisory message + advisoryMessage OCTET STRING (SIZE(0..7000)) -- Encoded advisory message } BroadcastInstructions ::= SEQUENCE { diff --git a/data/InputData.encoding.asd.tim.16regions.1008nodes.xml b/data/InputData.encoding.asd.tim.16regions.1008nodes.xml new file mode 100644 index 00000000..6c2c8974 --- /dev/null +++ b/data/InputData.encoding.asd.tim.16regions.1008nodes.xml @@ -0,0 +1 @@ +us.dot.its.jpo.ode.model.OdeAsdPayload12345678-1234-1234-1234-12345678912313032025-05-09T16:16:30.463Z8320002025-05-09T16:16:30.215ZTMCfalse1234567891234567892025-05-09T16:16:27.995Z3POST41.44440858-106.8073816541.29369333-105.6293327oneyear12345678MessageFrameMessageFrameUPERIeee1609Dot2DataIeee1609Dot2DataCOERAdvisorySituationDataAdvisorySituationDataUPERus.dot.its.jpo.ode.plugin.j2735.DdsAdvisorySituationData15650000000012345678123456785414444086-1068073817412936933-105629332712345678202000316000031603311185296123456789123456789null0413575088-1067422730111111111111111120251852963200050ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463004885null \ No newline at end of file diff --git a/data/InputData.encoding.asd.tim.17regions.1071nodes.invalid.xml b/data/InputData.encoding.asd.tim.17regions.1071nodes.invalid.xml new file mode 100644 index 00000000..1b5d61a2 --- /dev/null +++ b/data/InputData.encoding.asd.tim.17regions.1071nodes.invalid.xml @@ -0,0 +1 @@ +us.dot.its.jpo.ode.model.OdeAsdPayload12345678-1234-1234-1234-12345678912313032025-05-09T16:16:30.463Z8320002025-05-09T16:16:30.215ZTMCfalse1234567891234567892025-05-09T16:16:27.995Z3POST41.44440858-106.8073816541.29369333-105.6293327oneyear12345678MessageFrameMessageFrameUPERIeee1609Dot2DataIeee1609Dot2DataCOERAdvisorySituationDataAdvisorySituationDataUPERus.dot.its.jpo.ode.plugin.j2735.DdsAdvisorySituationData15650000000012345678123456785414444086-1068073817412936933-105629332712345678202000316000031603311185296123456789123456789null0413575088-1067422730111111111111111120251852963200050ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463004885null \ No newline at end of file diff --git a/data/InputData.encoding.asd.tim.7regions.441nodes.xml b/data/InputData.encoding.asd.tim.7regions.441nodes.xml new file mode 100644 index 00000000..157fe8f1 --- /dev/null +++ b/data/InputData.encoding.asd.tim.7regions.441nodes.xml @@ -0,0 +1 @@ +us.dot.its.jpo.ode.model.OdeAsdPayload12345678-1234-1234-1234-12345678912313032025-05-09T16:16:30.463Z8320002025-05-09T16:16:30.215ZTMCfalse1234567891234567892025-05-09T16:16:27.995Z3POST41.44440858-106.8073816541.29369333-105.6293327oneyear12345678MessageFrameMessageFrameUPERIeee1609Dot2DataIeee1609Dot2DataCOERAdvisorySituationDataAdvisorySituationDataUPERus.dot.its.jpo.ode.plugin.j2735.DdsAdvisorySituationData15650000000012345678123456785414444086-1068073817412936933-105629332712345678202000316000031603311185296123456789123456789null0413575088-1067422730111111111111111120251852963200050ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463ABCDEFGHIJKLMNOPQRSTUVWXYZ00413575088-10674227305000111111111110101101597-62020732-753918262-429157389-2437111190-23256114152-5372017084-6409202240-4641976623-316357455-1618114727-849219150-1695721356595436514114161304452152910917071214604833447190041039132703-1149418282338615303857154456125611751856453238315194200332427714352934717897477318972-37417574-5421104055-63064136612-1200669168-1252613815-4184226475-3821124283-219979406-1249027649-1978132331-1518540221-3060516647-695114665-89648920-1268414586-884718718-525317521569715463841117400576718796213137618-4243185752807898622403518781171317803-478230982-1676916469-718255025-1164018972-118516581-679314822-903016969-648018475-342919020-1817468611463004885null \ No newline at end of file diff --git a/src/tests.cpp b/src/tests.cpp index 19657a66..151b60fd 100644 --- a/src/tests.cpp +++ b/src/tests.cpp @@ -80,63 +80,6 @@ const char* BATCH_JSON = R"({ "type": "SPAT", "timestamp": 1735713156407, "hex": { "type": "SDSM", "timestamp": 1735713156418, "hex": "00293fee4f4354451fe189d73d8db3487a47e59668527c20a5ee4b3eb1ad79e017f38b87cebd5ff6885eb08ddfc05a5bd727e18c7bccc1edac3cf96d7e7d0afc9e48" } { "type": "RSM", "timestamp": 1735713156419, "hex": "002182B72F00878190A929E86A88B1BFD51931DD5E3826BFFB8B343AFB6741300FE5C32BA3BBDE67193178F6B7A4C55D7F92AC0F0491F9F41C7FF5C0EAAC660564EC7395A3852EF80497084BD802D70CEE59F40525C774EA036AC088DCD87C1F53E812C941115332BD8AD799163C0A9C81C982D69E83F981552BFD669E5A5F2D16C74FA63E918F8F0F604A90F3A1C12E23BBAD93CB049305AD3E920B77A512C50E4CA153321E342E7B46E1E301A8A4E59014982D4A049305AD3E880A4C16A881C14BB827A1AA228030783694F4354452130736F1056E8D0514C69E86A88BA29495BE95B96477A30E24A8B850AE4165F37B57429305AA82946C0941100F20C350AD1F10EFBC12F596922EAF9F5EE842DA5CB6A3207E642A0903C5B0D861EC9F40E00D471F4F4B0459E06117072B5EC72EDD6E8A402049001556AA6ADA64EBB41999C5CFA6548032950FA47C8D7026AC31E9E66DAADAA6D910CD5064C14484DC189C9FC95A23DF37185E92AD35592B8E0E5EFD26B49962279A2B778687051070CE2BA22974CB3B0110112EADFF2FCBC29B8D28C75BF56B3AB2B823CFE3F939D142D716370A601AC78E4A5FBCF10807A140AB40F08C4344158FB9404A4FC4F5DF57B57F128327A46AD6AD1BBBBF0FF8413612022A903960AA847A131787C4361D860C2B5BD507FAF45ECD0BAF9DC89D2817EC92DDCFDD89C28532C350AD3DEA25C2100228D4347F980931D2B8DFE2BADCA94D615CA0CBEBB2A091E58BE2B51215BE98AE235E1515E348C6CA2AF567FF1CB6449305AD3E988951821392E876D923D4C0E367116255FE6BBB512CBBCD0D5A0FEA65F650A52B5E633EA40E8458E51282F562201A529BB46DA51247A862897C9696F1FB10774216AB8E3CF15D715DB2E514268A9DA38D309EF0FA0C539C893308E63BD5AFBA44436666541EA275627FC4448A5CC2AFBCB2A88869C4D09800949BB79F0573CD5AA7DE4F46A0" })"; -/** - * This unit test is currently failing with the fork of asn1c that we're using (currently `usdot-fhwa-stol/usdot-asn1c`). - * Since encoding BSMs is not a desired feature of the ACM, this test case has been commented out. - */ -// TEST_CASE("Encode BSM", "[encoding]" ) { // TODO: fix test case failing -// // prepare -// asn1_codec.setup_logger_for_testing(); - -// std::stringstream out1; -// CHECK(asn1_codec.file_test("unit-test-data/BSM.xml", out1) == EXIT_SUCCESS); -// parse_result = output_doc.load(out1, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); -// CHECK(parse_result); -// payload_node = ode_payload_query.evaluate_node(output_doc).node(); -// CHECK(payload_node); -// byte_node = payload_node.child("MessageFrame").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), BSM_HEX) == 0); -// } - -TEST_CASE("Encode ASD", "[encoding]" ) { - std::cout << "=== Encode ASD ===" << std::endl; - - // prepare - asn1_codec.setup_logger_for_testing(); - - std::stringstream out2; - CHECK(asn1_codec.file_test("unit-test-data/ASD.xml", out2) == EXIT_SUCCESS); - parse_result = output_doc.load(out2, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); - CHECK(parse_result); - payload_node = ode_payload_query.evaluate_node(output_doc).node(); - CHECK(payload_node); - byte_node = payload_node.child("AdvisorySituationData").child("bytes"); - CHECK(byte_node); - CHECK(std::strcmp(byte_node.text().get(), ASD_BSM_HEX) == 0); -} - -/** - * This unit test is currently failing with the fork of asn1c that we're using (currently `usdot-fhwa-stol/usdot-asn1c`). - * Since encoding BSMs is not a desired feature of the ACM, this test case has been commented out. - */ -// TEST_CASE("Encode ASD_BSM", "[encoding]" ) { // TODO: fix test case failing -// // prepare -// asn1_codec.setup_logger_for_testing(); -// std::stringstream out3; -// CHECK(asn1_codec.file_test("unit-test-data/ASD_BSM.xml", out3) == EXIT_SUCCESS); -// parse_result = output_doc.load(out3, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); -// CHECK(parse_result); -// payload_node = ode_payload_query.evaluate_node(output_doc).node(); -// CHECK(payload_node); -// byte_node = payload_node.child("AdvisorySituationData").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), ASD_BSM_HEX) == 0); -// byte_node = payload_node.child("MessageFrame").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), BSM_HEX) == 0); -// } - TEST_CASE("Encode 1609", "[encoding]" ) { std::cout << "=== Encode 1609 ===" << std::endl; @@ -154,73 +97,6 @@ TEST_CASE("Encode 1609", "[encoding]" ) { CHECK(std::strcmp(byte_node.text().get(), ONE609_BSM_HEX) == 0); } -TEST_CASE("Encode ASD_1609", "[encoding]" ) { - std::cout << "=== Encode ASD_1609 ===" << std::endl; - - // prepare - asn1_codec.setup_logger_for_testing(); - - std::stringstream out5; - CHECK(asn1_codec.file_test("unit-test-data/ASD_1609.xml", out5) == EXIT_SUCCESS); - parse_result = output_doc.load(out5, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); - CHECK(parse_result); - payload_node = ode_payload_query.evaluate_node(output_doc).node(); - CHECK(payload_node); - byte_node = payload_node.child("Ieee1609Dot2Data").child("bytes"); - CHECK(byte_node); - CHECK(std::strcmp(byte_node.text().get(), ONE609_BSM_HEX) == 0); - byte_node = payload_node.child("AdvisorySituationData").child("bytes"); - CHECK(byte_node); - CHECK(std::strcmp(byte_node.text().get(), ASD_ONE609_HEX) == 0); -} - -/** - * This unit test is currently failing with the fork of asn1c that we're using (currently `usdot-fhwa-stol/usdot-asn1c`). - * Since encoding BSMs is not a desired feature of the ACM, this test case has been commented out. - */ -// TEST_CASE("Encode 1609_BSM", "[encoding]") { // TODO: fix test case failing -// // prepare -// asn1_codec.setup_logger_for_testing(); - -// std::stringstream out6; -// CHECK(asn1_codec.file_test("unit-test-data/1609_BSM.xml", out6) == EXIT_SUCCESS); -// parse_result = output_doc.load(out6, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); -// CHECK(parse_result); -// payload_node = ode_payload_query.evaluate_node(output_doc).node(); -// CHECK(payload_node); -// byte_node = payload_node.child("Ieee1609Dot2Data").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), ONE609_BSM_HEX) == 0); -// byte_node = payload_node.child("MessageFrame").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), BSM_HEX) == 0); -// } - -/** - * This unit test is currently failing with the fork of asn1c that we're using (currently `usdot-fhwa-stol/usdot-asn1c`). - * Since encoding BSMs is not a desired feature of the ACM, this test case has been commented out. - */ -// TEST_CASE("Encode ASD_1609_BSM", "[encoding]") { // TODO: fix test case failing -// // prepare -// asn1_codec.setup_logger_for_testing(); - -// std::stringstream out7; -// CHECK(asn1_codec.file_test("unit-test-data/ASD_1609_BSM.xml", out7) == EXIT_SUCCESS); -// parse_result = output_doc.load(out7, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); -// CHECK(parse_result); -// payload_node = ode_payload_query.evaluate_node(output_doc).node(); -// CHECK(payload_node); -// byte_node = payload_node.child("Ieee1609Dot2Data").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), ONE609_BSM_HEX) == 0); -// byte_node = payload_node.child("MessageFrame").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), BSM_HEX) == 0); -// byte_node = payload_node.child("AdvisorySituationData").child("bytes"); -// CHECK(byte_node); -// CHECK(std::strcmp(byte_node.text().get(), ASD_ONE609_HEX) == 0); -// } - TEST_CASE("Encode TIM with payload type 'OdeTimPayload'", "[encoding][odetimpayload]") { std::cout << "=== Encode TIM with payload type 'OdeTimPayload' ===" << std::endl; @@ -538,4 +414,55 @@ TEST_CASE("Http_Server::post_batch (application/x-ndjson)", "[decoding][http_ser CHECK(response.body.find("") != std::string::npos); CHECK(response.body.find("") != std::string::npos); CHECK(response.body.find("") != std::string::npos); +} + +/** + * A DataFrame can have 1 to 16 regions. 7 regions is a valid case. + */ +TEST_CASE("Encode ASD TIM with 7 regions should succeed", "[encoding][asd]") { + std::cout << "=== Encode ASD TIM with 7 regions should succeed ===" << std::endl; + + // prepare + asn1_codec.setup_logger_for_testing(); + + std::stringstream out10; + CHECK(asn1_codec.file_test("data/InputData.encoding.asd.tim.7regions.441nodes.xml", out10) == EXIT_SUCCESS); + parse_result = output_doc.load(out10, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); + CHECK(parse_result); + payload_node = ode_payload_query.evaluate_node(output_doc).node(); + CHECK(payload_node); +} + +/** +* 16 regions is the maximum number of regions allowed in a DataFrame. +*/ +TEST_CASE("Encode ASD TIM with 16 regions should succeed", "[encoding][asd]") { + std::cout << "=== Encode ASD TIM with 16 regions should succeed ===" << std::endl; + + // prepare + asn1_codec.setup_logger_for_testing(); + + std::stringstream out10; + CHECK(asn1_codec.file_test("data/InputData.encoding.asd.tim.16regions.1008nodes.xml", out10) == EXIT_SUCCESS); + parse_result = output_doc.load(out10, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); + CHECK(parse_result); + payload_node = ode_payload_query.evaluate_node(output_doc).node(); + CHECK(payload_node); +} + +/** +* 17 regions is not allowed in a DataFrame. +*/ +TEST_CASE("Encode ASD TIM with 17 regions should fail", "[encoding][asd]") { + std::cout << "=== Encode ASD TIM with 17 regions should fail ===" << std::endl; + + // prepare + asn1_codec.setup_logger_for_testing(); + + std::stringstream out10; + CHECK(asn1_codec.file_test("data/InputData.encoding.asd.tim.17regions.1071nodes.invalid.xml", out10) == EXIT_FAILURE); + parse_result = output_doc.load(out10, pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_trim_pcdata); + CHECK(parse_result); + payload_node = ode_payload_query.evaluate_node(output_doc).node(); + CHECK(payload_node); } \ No newline at end of file