package Ġio . re bble . co bble . bluetooth Ċ Ċ import Ġio . re bble . lib pe bble common . packets . blob db . Push Notification Ċ import Ġjunit . framework . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertArrayEquals Ċ import Ġorg . junit . Test Ċ Ċ internal Ġclass ĠG AT TP acket Test Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠPush Notification ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test ĠSender ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" A Ġquite Ġlong Ġmessage Ġfor Ġthe Ġnotification Ġ ........ Ġ ................ " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Valid Packet () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġg att Packet Ġ= ĠG AT TP acket ( G AT TP acket . Packet Type . DATA , Ġ 1 6 U , Ġpayload . serialize (). toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġbyte ArrayOf ( 0 b 1 0 0 0 0 0 0 0 . to Byte ()) Ġ+ Ġpayload . serialize (). toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġg att Packet . toByteArray () ĊĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdecode Valid Packet () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Type Ġ= ĠG AT TP acket . Packet Type . DATA ĊĠĠĠĠĠĠĠ Ġval Ġexpected Seq Ġ= Ġ 1 6 U . to U Short () ĊĠĠĠĠĠĠĠ Ġval Ġexpected Payload Ġ= Ġpayload . serialize (). toByteArray () ĊĊĠĠĠĠĠĠĠ Ġval Ġg att Packet Ġ= ĠG AT TP acket ( byte ArrayOf ( 0 b 1 0 0 0 0 0 0 0 . to Byte ()) Ġ+ Ġexpected Payload ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Seq , Ġg att Packet . sequence ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Type , Ġg att Packet . type ) ĊĠĠĠĠĠĠĠ Ġassert ArrayEquals ( expected Payload , Ġg att Packet . data . slice ( 1 .. g att Packet . data . size Ġ- Ġ 1 ). toByteArray ()) ĊĠĠĠ Ġ} Ċ }