package Ġpw . bin om . coroutine Ċ Ċ import Ġpw . bin om . network . Network Dispatcher Ċ import Ġkotlin . random . Random Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠAsync Queue Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwait Message Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġq Ġ= ĠAsync Queue < Int >() ĊĠĠĠĠĠĠĠ Ġval Ġnd Ġ= ĠNetwork Dispatcher () ĊĠĠĠĠĠĠĠ Ġval ĠNUM Ġ= ĠRandom . nextInt () ĊĠĠĠĠĠĠĠ Ġvar Ġgot Value : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġnd . start Coroutine Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgot Value Ġ= Ġq . pop () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġq . push ( NUM ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( NUM , Ġgot Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpop Message Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġq Ġ= ĠAsync Queue < Int >() ĊĠĠĠĠĠĠĠ Ġval Ġnd Ġ= ĠNetwork Dispatcher () ĊĠĠĠĠĠĠĠ Ġval ĠNUM Ġ= ĠRandom . nextInt () ĊĠĠĠĠĠĠĠ Ġq . push ( NUM ) ĊĠĠĠĠĠĠĠ Ġvar Ġgot Value : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġnd . start Coroutine Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgot Value Ġ= Ġq . pop () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( NUM , Ġgot Value ) ĊĠĠĠ Ġ} Ċ }