package Ġcom . d print . services . editor service . v 5 Ċ Ċ import Ġcom . intellij . util . io . toByteArray Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . nio . ByteBuffer Ċ import Ġkotlin . test . assert Content Equals Ċ Ċ internal Ġclass ĠMessage Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest It Build s A String Message () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠMessageType . Active ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" blah !" ĊĠĠĠĠĠĠĠ Ġval Ġtext As Bytes Ġ= Ġtext . toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠMessage ( id , Ġtype ) ĊĠĠĠĠĠĠĠ Ġmessage . add String ( text ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 4 Ġis Ġfor Ġthe Ġsize Ġof Ġthe Ġpart , Ġit Ġhas Ġa Ġsingle Ġpart ĊĠĠĠĠĠĠĠ Ġval Ġbody Length Ġ= Ġ 4 Ġ+ Ġtext . length ĊĠĠĠĠĠĠĠ Ġ// Ġid Ġ+ Ġmessage Ġtype Ġ+ Ġbody Ġsize Ġ+ Ġpart Ġsize Ġ+ Ġpart Ġcontent Ġ+ Ġsuccess Ġmessage ĊĠĠĠĠĠĠĠ Ġval Ġexpected Size Ġ= Ġ 4 Ġ* Ġ 3 Ġ+ Ġ 4 Ġ+ Ġtext . length Ġ+ ĠSUCCESS _ MESSAGE . size ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( expected Size ) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( id )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( type . intValue )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( body Length )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( text . length )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( text As Bytes ) ĊĠĠĠĠĠĠĠ Ġexpected . put ( SUCCESS _ MESSAGE ) ĊĊĠĠĠĠĠĠĠ Ġassert Content Equals ( expected . array (), Ġmessage . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest It Build s An Int Message () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠMessageType . Active ĊĠĠĠĠĠĠĠ Ġval Ġint Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠMessage ( id , Ġtype ) ĊĠĠĠĠĠĠĠ Ġmessage . add Int ( int ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġid Ġ+ Ġmessage Ġtype Ġ+ Ġbody Ġsize Ġ+ Ġpart Ġcontent Ġ+ Ġsuccess Ġmessage ĊĠĠĠĠĠĠĠ Ġval Ġexpected Size Ġ= Ġ 4 Ġ* Ġ 3 Ġ+ Ġ 4 Ġ+ ĠSUCCESS _ MESSAGE . size ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( expected Size ) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( id )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( type . intValue )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( 4 )) Ġ// Ġbody Ġlength ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( int )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( SUCCESS _ MESSAGE ) ĊĊĠĠĠĠĠĠĠ Ġassert Content Equals ( expected . array (), Ġmessage . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest It Build s AC om bined Message () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠMessageType . Active ĊĠĠĠĠĠĠĠ Ġval Ġint Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" blah !" ĊĠĠĠĠĠĠĠ Ġval Ġtext As Bytes Ġ= Ġtext . toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠMessage ( id , Ġtype ) ĊĠĠĠĠĠĠĠ Ġmessage . add Int ( int ) ĊĠĠĠĠĠĠĠ Ġmessage . add String ( text ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġbody Ġlength ĊĠĠĠĠĠĠĠ Ġval Ġbody Length Ġ= Ġ 4 Ġ+ Ġ 4 Ġ+ Ġtext . length ĊĠĠĠĠĠĠĠ Ġ// Ġid Ġ+ Ġmessage Ġtype Ġ+ Ġbody Ġsize Ġ+ Ġint Ġpart Ġ+ Ġstring Ġpart Ġsize Ġ+ Ġstring Ġpart Ġcontent Ġ+ Ġsuccess Ġmessage ĊĠĠĠĠĠĠĠ Ġval Ġexpected Size Ġ= Ġ 4 Ġ* Ġ 3 Ġ+ Ġ 4 Ġ+ Ġ 4 Ġ+ Ġtext . length Ġ+ ĠSUCCESS _ MESSAGE . size ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( expected Size ) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( id )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( type . intValue )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( body Length )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( int )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( create Int Bytes ( text . length )) ĊĠĠĠĠĠĠĠ Ġexpected . put ( text As Bytes ) ĊĠĠĠĠĠĠĠ Ġexpected . put ( SUCCESS _ MESSAGE ) ĊĊĠĠĠĠĠĠĠ Ġassert Content Equals ( expected . array (), Ġmessage . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Int Bytes ( int : ĠInt ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate ( 4 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( int ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer . toByteArray () ĊĠĠĠ Ġ} Ċ } Ċ