package Ġkotlinx . coroutines . experimental . io Ċ Ċ import Ġkotlinx . coroutines . io .* Ċ import Ġkotlinx . io . core . writeInt Ċ import Ġkotlin . test .* Ċ Ċ class ĠByteBuffer Channel Look A head Test Ġ: ĠByte Channel TestBase () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Do Nothing () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġch . look A head Suspend Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Do Nothing While Writing () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġch . write Suspend Session Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch . look A head Suspend Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Do Nothing While Writing 2 () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġch . look A head Suspend Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch . write Suspend Session Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Read During Writing () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġch . write Suspend Session Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch . look A head Suspend Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ write Suspend Session . request ( 1 ) !!. writeInt ( 7 7 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwritten ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflush () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbb Ġ= Ġrequest ( 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( bb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 7 7 7 , Ġbb . getInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconsumed ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ