package Ġkotlinx . coroutines . experimental . io Ċ Ċ import Ġkotlinx . coroutines . experimental .* Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠContent ByteBuffer Test Ġ: ĠTest Base () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Empty Content () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġch Ġ= ĠByte Read Channel ( ByteArray ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 , Ġch . read Available ( ByteBuffer . allocate ( 1 0 0 ))) ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Single Byte Content () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġch Ġ= ĠByte Read Channel ( byte ArrayOf ( 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġch . read Available ( ByteBuffer . allocate ( 1 0 0 ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Single Byte Content 2 () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġch Ġ= ĠByte Read Channel ( byte ArrayOf ( 0 x 3 4 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 x 3 4 , Ġch . read Byte ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Multiple Byte Content 2 () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠByteArray ( 1 6 ) ĊĠĠĠĠĠĠĠ ĠRandom (). next Bytes ( arr ) ĊĠĠĠĠĠĠĠ Ġval Ġch Ġ= ĠByte Read Channel ( arr ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 6 , Ġch . available For Read ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠĠĠĠĠ Ġch . read Byte () ĊĠĠĠĠĠĠĠ Ġch . read Short () ĊĠĠĠĠĠĠĠ Ġch . readInt () ĊĠĠĠĠĠĠĠ Ġch . read Long () ĊĠĠĠĠĠĠĠ Ġch . read Byte () ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġch . is Closed For Read Ġ} ĊĠĠĠ Ġ} Ċ }