/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠSquare , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġok io Ċ Ċ import Ġok io . ByteString . Companion . decode Base 6 4 Ċ import Ġok io . ByteString . Companion . decode Hex Ċ import Ġok io . ByteString . Companion . encode Ċ import Ġok io . ByteString . Companion . encode Utf 8 Ċ import Ġok io . ByteString . Companion . read ByteString Ċ import Ġok io . ByteString . Companion . to ByteString Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . nio . ByteBuffer Ċ import Ġkotlin . test . fail Ċ Ċ class ĠByte String Kotlin Test Ġ{ ĊĠ Ġ@ Test Ġfun Ġget () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ" abc ". encode Utf 8 () ĊĠĠĠ ĠassertThat ( actual [ 0 ]). isEqualTo (' a '. to Byte ()) ĊĠĠĠ ĠassertThat ( actual [ 1 ]). isEqualTo (' b '. to Byte ()) ĊĠĠĠ ĠassertThat ( actual [ 2 ]). isEqualTo (' c '. to Byte ()) ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġactual [- 1 ] ĊĠĠĠĠĠ Ġfail () ĊĠĠĠ Ġ} Ġcatch Ġ( expected : ĠIndex OutOfBoundsException ) Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġactual [ 3 ] ĊĠĠĠĠĠ Ġfail () ĊĠĠĠ Ġ} Ġcatch Ġ( expected : ĠIndex OutOfBoundsException ) Ġ{ ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġdecode Base 6 4 () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ" Y f Cf jal j ". decode Base 6 4 () ĊĠĠĠ Ġval Ġexpected Ġ= Ġ" a \ uD 8 3 C \ u DF 6 9 c ". encode Utf 8 () ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġdecode Base 6 4 Invalid () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ"; -) ". decode Base 6 4 () ĊĠĠĠ ĠassertThat ( actual ). isNull () ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġdecode Hex () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ" CA FE B AB E ". decode Hex () ĊĠĠĠ Ġval Ġexpected Ġ= ĠByte String . of (- 5 4 , Ġ- 2 , Ġ- 7 0 , Ġ- 6 6 ) ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġarray To ByteString () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġbyte ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). to ByteString () ĊĠĠĠ Ġval Ġexpected Ġ= ĠByte String . of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġarray Subset To ByteString () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġbyte ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). to ByteString ( 1 , Ġ 2 ) ĊĠĠĠ Ġval Ġexpected Ġ= ĠByte String . of ( 2 , Ġ 3 ) ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġbyte Buffer To ByteString () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= ĠByteBuffer . wrap ( byte ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 )). to ByteString () ĊĠĠĠ Ġval Ġexpected Ġ= ĠByte String . of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġstring Encode ByteString Default Charset () Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ" a \ uD 8 3 C \ u DF 6 9 c ". encode () ĊĠĠĠ Ġval Ġexpected Ġ= Ġ" a \ uD 8 3 C \ u DF 6 9 c ". encode Utf 8 () ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġstream Read ByteString () Ġ{ ĊĠĠĠ Ġval Ġstream Ġ= ĠByteArrayInputStream ( byte ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 )) ĊĠĠĠ Ġval Ġactual Ġ= Ġstream . read ByteString ( 4 ) ĊĠĠĠ Ġval Ġexpected Ġ= ĠByte String . of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġsubstring () Ġ{ ĊĠĠĠ Ġval Ġbyte String Ġ= Ġ" abcdef ". encode Utf 8 () ĊĠĠĠ ĠassertThat ( byte String . substring ()). isEqualTo (" abcdef ". encode Utf 8 ()) ĊĠĠĠ ĠassertThat ( byte String . substring ( end Index = Ġ 3 )). isEqualTo (" abc ". encode Utf 8 ()) ĊĠĠĠ ĠassertThat ( byte String . substring ( begin Index Ġ= Ġ 3 )). isEqualTo (" def ". encode Utf 8 ()) ĊĠĠĠ ĠassertThat ( byte String . substring ( begin Index Ġ= Ġ 1 , Ġend Index Ġ= Ġ 5 )). isEqualTo (" bc de ". encode Utf 8 ()) ĊĠ Ġ} Ċ }