libepg.epg.section.body.eventinformationtable.EventInformationTableBodyTest.java Source code

Java tutorial

Introduction

Here is the source code for libepg.epg.section.body.eventinformationtable.EventInformationTableBodyTest.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package libepg.epg.section.body.eventinformationtable;

/**
 * 60f7c20067e530f840f2000430617361e07c18000000250000f64dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d6091200677361006873616abbe07c18250000050000cc4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb6abce07c18300000250000f94dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc798de07c18550000020000cf4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d6fb6e07c18570000030000d94db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb66ac0e07c19000000300001014dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac06ac2e07c19300000300000df4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac26ac6e07c20000002250001104dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6af3bfb5effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 *
 * 60( = 60)<br>
 * f7c2(section_syntax_indicator = 1,1 = 1,2 = 3, = 1,986)<br>
 * 0067(service_id)<br>
 * e5(reserved=3,version_number=18,current_next_indicator=1)<br>
 * 30(section_number=30) <br>
 * f8(last_section_number=f8)<br>
 * 40f2(transport_stream_id=40f2)<br>
 * 0004(original_network_id=0004)<br>
 * 30(segment_last_section_number=30)<br>
 * 61(last_table_id=61)<br>
 *
 * 7361e07c18000000250000f64dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d609120067736100687361<br>
 * event_id(16bit)=7361<br>
 * start_time(40bit)=e07c180000<br>
 * duration(24bit)=002500<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0f6=246)=00f6<br>
 * ?(246byte)=4dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d609120067736100687361
 * <br>
 *
 * 6abbe07c18250000050000cc4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb
 * <br>
 * event_id(16bit)=6abb<br>
 * start_time(40bit)=e07c182500<br>
 * duration(24bit)=000500<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0cc=204)=00cc<br>
 * ?(204byte)=4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb
 * <br>
 *
 * 6abce07c18300000250000f94dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc
 * <br>
 * event_id(16bit)=6abc<br>
 * start_time(40bit)=e07c183000<br>
 * duration(24bit)=002500<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0f9=249)=00f9<br>
 * ?(249byte)=4dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc
 * <br>
 *
 *
 * 798de07c18550000020000cf4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d
 * <br>
 * event_id(16bit)=798d<br>
 * start_time(40bit)=e07c185500<br>
 * duration(24bit)=000200<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0cf=207)=00cf<br>
 * ?(207byte)=4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d
 * <br>
 *
 * 6fb6e07c18570000030000d94db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb6
 * <br>
 * event_id(16bit)=6fb6<br>
 * start_time(40bit)=e07c185700<br>
 * duration(24bit)=000300<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0d9=217)=00d9<br>
 * ?(217byte)=4db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb6
 * <br>
 *
 * 6ac0e07c19000000300001014dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac0<br>
 * event_id(16bit)=6ac0<br>
 * start_time(40bit)=e07c190000<br>
 * duration(24bit)=003000<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=101=257)=0101<br>
 * ?(257byte)=4dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac0
 * <br>
 *
 * 6ac2e07c19300000300000df4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac2<br>
 * event_id(16bit)=6ac2<br>
 * start_time(40bit)=e07c193000<br>
 * duration(24bit)=003000<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=0df=223)=00df<br>
 * ?(223byte)=4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac2
 * <br>
 *
 * 6ac6e07c20000002250001104dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6<br>
 * event_id(16bit)=6ac6<br>
 * start_time(40bit)=e07c200000<br>
 * duration(24bit)=022500<br>
 * ????(running_status(3bit)=0,free_CA_mode(1bit)=0,descriptors_loop_length(12bit)=110=272)=0110<br>
 * ?(272byte)=4dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6
 * <br>
 */
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.logging.Log;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import libepg.epg.section.Section;
import loggingsupport.loggerfactory.LoggerFactory;

/**
 *
 * @author normal
 */
public class EventInformationTableBodyTest {

    /**
     * false?????????????
     */
    public static final boolean CLASS_LOG_OUTPUT_MODE = true;

    private static final Log LOG;

    static {
        final Class<?> myClass = MethodHandles.lookup().lookupClass();
        LOG = new LoggerFactory(myClass, EventInformationTableBodyTest.CLASS_LOG_OUTPUT_MODE).getLOG();
    }

    private final String str_EIT_GR_ST = "60f7c20067e530f840f2000430617361e07c18000000250000f64dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d6091200677361006873616abbe07c18250000050000cc4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb6abce07c18300000250000f94dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc798de07c18550000020000cf4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d6fb6e07c18570000030000d94db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb66ac0e07c19000000300001014dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac06ac2e07c19300000300000df4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac26ac6e07c20000002250001104dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6af3bfb5effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";

    private final Section testSection_OK;

    private final EventInformationTableBody eitb;

    private final String str_Repeating_Part = "7361e07c18000000250000f64dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d6091200677361006873616abbe07c18250000050000cc4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb6abce07c18300000250000f94dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc798de07c18550000020000cf4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d6fb6e07c18570000030000d94db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb66ac0e07c19000000300001014dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac06ac2e07c19300000300000df4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac26ac6e07c20000002250001104dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6";

    private final byte[] Repeating_Part;

    public EventInformationTableBodyTest() throws DecoderException {
        this.testSection_OK = new Section(Hex.decodeHex(this.str_EIT_GR_ST.toCharArray()));

        this.Repeating_Part = Hex.decodeHex(this.str_Repeating_Part.toCharArray());

        assertEquals(this.testSection_OK.getTable_id(), 0x60);
        assertEquals(this.testSection_OK.getSection_syntax_indicator(), 1);
        assertEquals(this.testSection_OK.getReservedFutureUse1(), 1);
        assertEquals(this.testSection_OK.getReserved1(), 3);
        assertEquals(this.testSection_OK.getSectionLength(), 1986);

        this.eitb = new EventInformationTableBody(this.testSection_OK.getSectionBody());
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of getService_id method, of class EventInformationTableBody.
     */
    @Test
    public void testGetService_id() {
        LOG.info("getService_id");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x67;
        int result = instance.getService_id();
        assertEquals(expResult, result);
    }

    /**
     * Test of getReserved1 method, of class EventInformationTableBody.
     */
    @Test
    public void testGetReserved1() {
        LOG.info("getReserved1");
        EventInformationTableBody instance = this.eitb;
        int expResult = 3;
        int result = instance.getReserved1();
        assertEquals(expResult, result);
    }

    /**
     * Test of getVersion_number method, of class EventInformationTableBody.
     */
    @Test
    public void testGetVersion_number() {
        LOG.info("getVersion_number");
        EventInformationTableBody instance = this.eitb;
        int expResult = 18;
        int result = instance.getVersion_number();
        assertEquals(expResult, result);
    }

    /**
     * Test of getCurrent_next_indicator method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetCurrent_next_indicator() {
        LOG.info("getCurrent_next_indicator");
        EventInformationTableBody instance = this.eitb;
        int expResult = 1;
        int result = instance.getCurrent_next_indicator();
        assertEquals(expResult, result);
    }

    /**
     * Test of getSection_number method, of class EventInformationTableBody.
     */
    @Test
    public void testGetSection_number() {
        LOG.info("getSection_number");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x30;
        int result = instance.getSection_number();
        assertEquals(expResult, result);
    }

    /**
     * Test of getLast_section_number method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetLast_section_number() {
        LOG.info("getLast_section_number");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0xf8;
        int result = instance.getLast_section_number();
        assertEquals(expResult, result);
    }

    /**
     * Test of getTransport_stream_id method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetTransport_stream_id() {
        LOG.info("getTransport_stream_id");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x40f2;
        int result = instance.getTransport_stream_id();
        assertEquals(expResult, result);
    }

    /**
     * Test of getOriginal_network_id method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetOriginal_network_id() {
        LOG.info("getOriginal_network_id");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x0004;
        int result = instance.getOriginal_network_id();
        assertEquals(expResult, result);
    }

    /**
     * Test of getSegment_last_section_number method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetSegment_last_section_number() {
        LOG.info("getSegment_last_section_number");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x30;
        int result = instance.getSegment_last_section_number();
        assertEquals(expResult, result);
    }

    /**
     * Test of getLast_table_id method, of class EventInformationTableBody.
     */
    @Test
    public void testGetLast_table_id() {
        LOG.info("getLast_table_id");
        EventInformationTableBody instance = this.eitb;
        int expResult = 0x61;
        int result = instance.getLast_table_id();
        assertEquals(expResult, result);
    }

    /**
     * Test of getRepeatingPart method, of class EventInformationTableBody.
     */
    @Test
    public void testGetRepeatingPart() {
        LOG.info("getRepeatingPart");
        EventInformationTableBody instance = this.eitb;
        byte[] expResult = this.Repeating_Part;
        byte[] result = instance.getRepeatingPart();
        assertArrayEquals(expResult, result);
    }

    //??
    private static final EventInformationTableRepeatingPart init(byte[] data) throws InvocationTargetException {
        try {
            Object[] args = { data };
            Class<?>[] params = { byte[].class };
            Constructor<EventInformationTableRepeatingPart> constructor = EventInformationTableRepeatingPart.class
                    .getDeclaredConstructor(params);
            constructor.setAccessible(true);
            EventInformationTableRepeatingPart target = constructor.newInstance(args);
            return target;
        } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | NoSuchMethodException
                | SecurityException ex) {
            LOG.fatal(ex);
        }
        return null;
    }

    /**
     * Test of getEITRepeatingPartList method, of class
     * EventInformationTableBody.
     */
    @Test
    public void testGetEITRepeatingPartList() throws DecoderException, InvocationTargetException {
        LOG.info("getEITRepeatingPartList");
        EventInformationTableBody instance = this.eitb;
        byte[] target1 = Hex.decodeHex(
                "7361e07c18000000250000f64dbb6a706e3d1b7ceff3eff3d1c3b3ed1b7ea11b7cade3e91b7dc8e21b7cef213cebc9212148741b7dd33d50bb1b7ea13f4d35241b7cbdf3b01b242a3b1b7dfad6faea791b7ceff3eff31b7dbfc1ac2122b3c9e248564148c73f4d3524ce324ef2335ab7af3e5232702123364acf2156e6adc0ebdece1b7ce6ad1b7dc1e3f3c821572156a4c3b7e7cae9d8a4adc0e82157cac9212321561b7cc9ecdfd5a121261b7dc9213ccac3c41b7ea121571b7dceecc3b7213cac45503e6c1b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e005406a8ff54ff49ffc10184d609120067736100687361"
                        .toCharArray());
        byte[] target2 = Hex.decodeHex(
                "6abbe07c18250000050000cc4da56a706e331b7ca2cbe121211b7daab7eaabb8ea436e1b7ea8b1b4a921561b7cdbf3c81b7ea1bf1b7cb8b81b7dce1b7cd7eddd213cba21576da4c4e2d8f3cab3c8d0abeab7c6a4c62122a4a4abb2f3cab3c8b7ab3840efcaa41b7cb8b821232156d0d021221b7dcaf3c71b7cb8b81b7dc8376b3a27b7bfce1b7ebf21571b7dc84a39afabb8ea436ecb21221b7cd0d01b7dacaac9edafd9ad3b57a43d504f43f2386ceb1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540270ffc10184d6091200676abb00686abb"
                        .toCharArray());
        byte[] target3 = Hex.decodeHex(
                "6abce07c18300000250000f94dad6a706e3f1b7ca2cbe12121b9ddf3b82126dcd62156d3adcbbfa6f31b7df2487eb7af1b7ea1215721561b7cb2a4ea213c1b7dce416a4b4021571b242a3b1b7dfadafad6693f3ca43324ce446ccba2eb3324446c45543b5421261b7cd3adcbbfa6f31b7dcb3d3be01b7cb9ddf3b82126dcd61b7dc843673456bfc1ac372bea392db2eb21221b7ce6213ce2e9b91b7dc7335ab7a4467c3e6ff24941a4bf1b7ccfa4c6f3b7e7f32126a2cbe11b7ea15006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540271ffc10184d6091200676abc00686abc"
                        .toCharArray());
        byte[] target4 = Hex.decodeHex(
                "798de07c18550000020000cf4da66a706e151b7ec2d31b7cd7ecdec3d72156d1f34e39212321578c1b7eb3376eb2b9467c4c6bb73b7e483e4a7c417721561b7cd1f34e39212321571b7dce4c254e4f2123357e4554495ccf467c4b5c306c1b7cd1f31b7df23f29d9eb434f30682122cabc38454554ce357e4554ac1b7ebf4c5a466e403232461b7dc84222323c4a664748ac357e4554ceaaa4b7a41b7cd1f31b7df23f29d9deafeabdce486b4c29f24335eb21235006f1b3006a706ec409f203100f0f6f6a706e540427ff87ffc10184d609120067798d0068798d"
                        .toCharArray());
        byte[] target5 = Hex.decodeHex(
                "6fb6e07c18570000030000d94db26a706e311b7cb0ec213cc8cda4c1e3213c1b7eb2ede9eeae21562148322b36621b7dce4267324f2149466e4a461b7ca2debef321577c466e4a461b7ca2debef3406e1b7dcbcf2122497d1b7eb41b7caded1b7dce4267324fac4363c83975ce1b7eb23f271b7dcb4a4cecbfdede1b7eb1b01b7caded304a3e654e2e1b7deceb49543b573544ca3e6c3d6aaca2eb21233877ce3243383ac7322b36623f27cb3531af1b7ccdb0ed406e1b7dce4064374a1b7ea15006f1b3006a706ec409f203100f0f6f6a706e540282ffc10184d6091200676fb600686fb6"
                        .toCharArray());
        byte[] target6 = Hex.decodeHex(
                "6ac0e07c19000000300001014dca6a706e361b7ed4cfcbd9cf1b7cc7a3213cd71b7ea121564c254f471b7dce4b7c325a3640212140694d5521263149442e21571b242a3b1b7dfad68f343f335a3339c8b7c64c3e3962a440694d5521263149442e2123434f3068b0ebdfc73a4640381b7cd7edb8a7afc81b7dac3f4a395443661b7ea13d77402d1b7cd0213cc6f3c0213c1b7dcf4541457d375d473dc71b7ea14267335840381b7dcf1b7cb4df3d261b7da4c71b7ea1475135751b7df24d784d51b7bf3c633c543f4d3524ce1b7cb9ddc3c81b7de21b7ea15006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540255ffc10184d6091200676ac000686ac0"
                        .toCharArray());
        byte[] target7 = Hex.decodeHex(
                "6ac2e07c19300000300000df4da46a706e1ecbc3ddf349344c3e3b3321564d53447d3b3321571b242a3b1b7dfad6faea814b4c3324463bce4d53447d3b331b7ea8b1b8b9b8eda939711b7dce45374133352d47304a2acb3b58446ab5ecebaa3256482af2335ab7df212235704267ca3250387df2e1b0ea21223b33443ad82123325c305049593b4ec8e23846d0eceb4d25487eca3b334d46ce3b4d3528e44f3ccb4d2fad3d50b940364e2ee23e52327021235006f1b3006a706ec409f203100f0f6f6a706ec70e0008300501136a706e006a706e00540682ff81ffa0ffc10184d6091200676ac200686ac2"
                        .toCharArray());
        byte[] target8 = Hex.decodeHex(
                "6ac6e07c20000002250001104dc46a706e3b1b7cd7ecdfa2e0b7cdde21561b7eb0b0b7af1b7cb9aba4d5a9213ceb21571b7ebc1b7cecbf213cdcc3afb9b5a4ba1b7ebe1b242a3b1b7dfadafad6843f4d35241b7cb9d1a42126a2afb7e7f3b7ea213cba1b7eb2b33a6e4c5c21233a2332731b7dac1b7eb345594c5c1b7dc8caeb1b7cc0cba8eb2126afeca4b031691b7db8eb1b7cb8a7213ce0ba2126dcf3c91b7dac21224860ce3e653b4a1b7ecd1b7df24140a64666ce48483a6141483f25c841544064ca462ea4f2372bea392db2eb21235006f1b3006a706ec40ff203100f0f6f6a706e467c4b5c386cc40df203110f0f2f656e673151386cc70e0008300501136a706e006a706e00540260ffc10184d6091200676ac600686ac6"
                        .toCharArray());

        List<EventInformationTableRepeatingPart> expResult = new ArrayList<>();
        expResult.add(init(target1));
        expResult.add(init(target2));
        expResult.add(init(target3));
        expResult.add(init(target4));
        expResult.add(init(target5));
        expResult.add(init(target6));
        expResult.add(init(target7));
        expResult.add(init(target8));

        List<EventInformationTableRepeatingPart> result = instance.getEITRepeatingPartList();
        assertEquals(expResult, result);

    }

    /**
     * Test of toString method, of class EventInformationTableBody.
     */
    @Test
    public void testToString() {
        LOG.info("toString");
        EventInformationTableBody instance = this.eitb;
        LOG.info(instance);
    }

}