package Ġcom . github . el ton vs . ob d . command . control Ċ Ċ import Ġcom . github . el ton vs . ob d . command . Ob d Raw Response Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠAvailable P IDs Command 0 1 to 2 0 Parameterized Tests ( private Ġval Ġraw Value : ĠString , Ġprivate Ġval Ġexpected : ĠInt Array ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġfun Ġvalues () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRen ault ĠSand ero Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 3 EB 8 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 0 x 1 , Ġ 0 x 3 , Ġ 0 x 4 , Ġ 0 x 5 , Ġ 0 x 6 , Ġ 0 x 7 , Ġ 0 xb , Ġ 0 xc , Ġ 0 xd , Ġ 0 xe , Ġ 0 xf , Ġ 0 x 1 1 , Ġ 0 x 1 3 , Ġ 0 x 1 4 , Ġ 0 x 1 5 , Ġ 0 x 1 c , Ġ 0 x 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠChe v ro let ĠOn ix Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 3 FB 8 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 1 , Ġ 0 x 3 , Ġ 0 x 4 , Ġ 0 x 5 , Ġ 0 x 6 , Ġ 0 x 7 , Ġ 0 xb , Ġ 0 xc , Ġ 0 xd , Ġ 0 xe , Ġ 0 xf , Ġ 0 x 1 0 , Ġ 0 x 1 1 , Ġ 0 x 1 3 , Ġ 0 x 1 4 , Ġ 0 x 1 5 , Ġ 0 x 1 c , Ġ 0 x 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTo y ota ĠCor ol la Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 1 FA 8 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 0 x 1 , Ġ 0 x 3 , Ġ 0 x 4 , Ġ 0 x 5 , Ġ 0 x 6 , Ġ 0 x 7 , Ġ 0 xc , Ġ 0 xd , Ġ 0 xe , Ġ 0 xf , Ġ 0 x 1 0 , Ġ 0 x 1 1 , Ġ 0 x 1 3 , Ġ 0 x 1 5 , Ġ 0 x 1 c , Ġ 0 x 1 f , Ġ 0 x 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠF iat ĠS ien a Ġ 2 0 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 3 EB 8 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 0 x 1 , Ġ 0 x 3 , Ġ 0 x 4 , Ġ 0 x 5 , Ġ 0 x 6 , Ġ 0 x 7 , Ġ 0 xb , Ġ 0 xc , Ġ 0 xd , Ġ 0 xe , Ġ 0 xf , Ġ 0 x 1 1 , Ġ 0 x 1 3 , Ġ 0 x 1 4 , Ġ 0 x 1 5 , Ġ 0 x 1 c , Ġ 0 x 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠV W ĠG ol Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BE 3 EB 8 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 1 , Ġ 0 x 3 , Ġ 0 x 4 , Ġ 0 x 5 , Ġ 0 x 6 , Ġ 0 x 7 , Ġ 0 xb , Ġ 0 xc , Ġ 0 xd , Ġ 0 xe , Ġ 0 xf , Ġ 0 x 1 1 , Ġ 0 x 1 3 , Ġ 0 x 1 4 , Ġ 0 x 1 5 , Ġ 0 x 1 c , Ġ 0 x 1 f , Ġ 0 x 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġint ArrayOf ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" FFFFFFFF ", Ġ( 0 x 1 .. 0 x 2 0 ). toList (). to IntArray ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġvalid Ġavailable ĠP IDs Ġ 0 1 Ġto Ġ 2 0 Ġresponses Ġhandler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw Response Ġ= ĠO bd Raw Response ( value Ġ= Ġraw Value , Ġelapsed Time Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġob d Response Ġ= ĠAvailable P IDs Command ( Available P IDs Command . Available P IDs Ranges . PID S _ 0 1 _ TO _ 2 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Response ( raw Response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . join ToString (",") Ġ{ Ġ"% 0 2 X ". format ( it ) Ġ}, Ġob d Response . formatted Value ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠAvailable P IDs Command 2 1 to 4 0 Parameterized Tests ( private Ġval Ġraw Value : ĠString , Ġprivate Ġval Ġexpected : ĠInt Array ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġfun Ġvalues () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRen ault ĠSand ero Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 8 0 0 1 8 0 0 1 ", Ġint ArrayOf ( 0 x 2 1 , Ġ 0 x 3 0 , Ġ 0 x 3 1 , Ġ 0 x 4 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠChe v ro let ĠOn ix Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 8 0 0 7 A 0 1 1 ", Ġint ArrayOf ( 0 x 2 1 , Ġ 0 x 2 e , Ġ 0 x 2 f , Ġ 0 x 3 0 , Ġ 0 x 3 1 , Ġ 0 x 3 3 , Ġ 0 x 3 c , Ġ 0 x 4 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTo y ota ĠCor ol la Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 9 0 0 5 B 0 1 5 ", Ġint ArrayOf ( 0 x 2 1 , Ġ 0 x 2 4 , Ġ 0 x 2 e , Ġ 0 x 3 0 , Ġ 0 x 3 1 , Ġ 0 x 3 3 , Ġ 0 x 3 4 , Ġ 0 x 3 c , Ġ 0 x 3 e , Ġ 0 x 4 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠF iat ĠS ien a Ġ 2 0 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 8 0 0 0 0 0 0 0 ", Ġint ArrayOf ( 0 x 2 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠV W ĠG ol Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 8 0 0 7 A 0 1 1 ", Ġint ArrayOf ( 0 x 2 1 , Ġ 0 x 2 e , Ġ 0 x 2 f , Ġ 0 x 3 0 , Ġ 0 x 3 1 , Ġ 0 x 3 3 , Ġ 0 x 3 c , Ġ 0 x 4 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġint ArrayOf ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" FFFFFFFF ", Ġ( 0 x 2 1 .. 0 x 4 0 ). toList (). to IntArray ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġvalid Ġavailable ĠP IDs Ġ 2 1 Ġto Ġ 4 0 Ġresponses Ġhandler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw Response Ġ= ĠO bd Raw Response ( value Ġ= Ġraw Value , Ġelapsed Time Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġob d Response Ġ= ĠAvailable P IDs Command ( Available P IDs Command . Available P IDs Ranges . PID S _ 2 1 _ TO _ 4 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Response ( raw Response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . join ToString (",") Ġ{ Ġ"% 0 2 X ". format ( it ) Ġ}, Ġob d Response . formatted Value ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠAvailable P IDs Command 4 1 to 6 0 Parameterized Tests ( private Ġval Ġraw Value : ĠString , Ġprivate Ġval Ġexpected : ĠInt Array ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġfun Ġvalues () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRen ault ĠSand ero Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 8 0 0 0 0 0 0 0 ", Ġint ArrayOf ( 0 x 4 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠChe v ro let ĠOn ix Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" F ED 0 C 0 0 0 ", Ġint ArrayOf ( 0 x 4 1 , Ġ 0 x 4 2 , Ġ 0 x 4 3 , Ġ 0 x 4 4 , Ġ 0 x 4 5 , Ġ 0 x 4 6 , Ġ 0 x 4 7 , Ġ 0 x 4 9 , Ġ 0 x 4 a , Ġ 0 x 4 c , Ġ 0 x 5 1 , Ġ 0 x 5 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTo y ota ĠCor ol la Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 7 ADC 8 0 0 1 ", Ġint ArrayOf ( 0 x 4 2 , Ġ 0 x 4 3 , Ġ 0 x 4 4 , Ġ 0 x 4 5 , Ġ 0 x 4 7 , Ġ 0 x 4 9 , Ġ 0 x 4 a , Ġ 0 x 4 c , Ġ 0 x 4 d , Ġ 0 x 4 e , Ġ 0 x 5 1 , Ġ 0 x 6 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠV W ĠG ol Ġ 2 0 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" F ED 1 4 4 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 0 x 4 1 , Ġ 0 x 4 2 , Ġ 0 x 4 3 , Ġ 0 x 4 4 , Ġ 0 x 4 5 , Ġ 0 x 4 6 , Ġ 0 x 4 7 , Ġ 0 x 4 9 , Ġ 0 x 4 a , Ġ 0 x 4 c , Ġ 0 x 5 0 , Ġ 0 x 5 2 , Ġ 0 x 5 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġint ArrayOf ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" FFFFFFFF ", Ġ( 0 x 4 1 .. 0 x 6 0 ). toList (). to IntArray ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġvalid Ġavailable ĠP IDs Ġ 4 1 Ġto Ġ 6 0 Ġresponses Ġhandler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw Response Ġ= ĠO bd Raw Response ( value Ġ= Ġraw Value , Ġelapsed Time Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġob d Response Ġ= ĠAvailable P IDs Command ( Available P IDs Command . Available P IDs Ranges . PID S _ 4 1 _ TO _ 6 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Response ( raw Response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . join ToString (",") Ġ{ Ġ"% 0 2 X ". format ( it ) Ġ}, Ġob d Response . formatted Value ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠAvailable P IDs Command 6 1 to 8 0 Parameterized Tests ( private Ġval Ġraw Value : ĠString , Ġprivate Ġval Ġexpected : ĠInt Array ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġfun Ġvalues () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTo y ota ĠCor ol la Ġ 2 0 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 8 0 0 0 0 0 0 ", Ġint ArrayOf ( 0 x 6 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġint ArrayOf ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" FFFFFFFF ", Ġ( 0 x 6 1 .. 0 x 8 0 ). toList (). to IntArray ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġvalid Ġavailable ĠP IDs Ġ 6 1 Ġto Ġ 8 0 Ġresponses Ġhandler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw Response Ġ= ĠO bd Raw Response ( value Ġ= Ġraw Value , Ġelapsed Time Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġob d Response Ġ= ĠAvailable P IDs Command ( Available P IDs Command . Available P IDs Ranges . PID S _ 6 1 _ TO _ 8 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Response ( raw Response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . join ToString (",") Ġ{ Ġ"% 0 2 X ". format ( it ) Ġ}, Ġob d Response . formatted Value ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠAvailable P IDs Command 8 1 to A 0 Parameterized Tests ( private Ġval Ġraw Value : ĠString , Ġprivate Ġval Ġexpected : ĠInt Array ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġfun Ġvalues () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġint ArrayOf ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" FFFFFFFF ", Ġ( 0 x 8 1 .. 0 xA 0 ). toList (). to IntArray ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġvalid Ġavailable ĠP IDs Ġ 8 1 Ġto ĠA 0 Ġresponses Ġhandler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw Response Ġ= ĠO bd Raw Response ( value Ġ= Ġraw Value , Ġelapsed Time Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġob d Response Ġ= ĠAvailable P IDs Command ( Available P IDs Command . Available P IDs Ranges . PID S _ 8 1 _ TO _ A 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Response ( raw Response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . join ToString (",") Ġ{ Ġ"% 0 2 X ". format ( it ) Ġ}, Ġob d Response . formatted Value ) ĊĠĠĠ Ġ} Ċ }