import Ġkotlinx . coroutines . run Blocking Ċ import Ġru . ot us . ot us kotlin . blog . common . cor . handlers . IC or Chain Dsl Ċ import Ġru . ot us . ot us kotlin . blog . common . cor . handlers . chain Ċ import Ġru . ot us . ot us kotlin . blog . common . cor . handlers . parallel Ċ import Ġru . ot us . ot us kotlin . blog . common . cor . handlers . worker Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠCor Test Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchain Ġ= Ġchain < TestContext > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Ðĺ Ð½Ð¸ ÑĨÐ¸ Ð°Ð»Ð¸Ð· Ð°ÑĨÐ¸Ñı ĠÑģÑĤ Ð°ÑĤ ÑĥÑģ Ð° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" ÐŁ ÑĢÐ¸ ĠÑģÑĤ Ð°ÑĢ ÑĤÐµ ĠÐ¾Ð± ÑĢÐ°Ð±Ð¾ÑĤ ÐºÐ¸ ĠÑĨ ÐµÐ¿ Ð¾Ñĩ ÐºÐ¸ , ĠÑģÑĤ Ð°ÑĤ ÑĥÑģ ĠÐµ Ñī Ðµ ĠÐ½Ðµ ĠÑĥÑģÑĤÐ°Ð½Ð¾Ð² Ð»ÐµÐ½ . ĠÐŁ ÑĢÐ¾Ð² ÐµÑĢ Ñı ÐµÐ¼ ĠÐµÐ³Ð¾ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġstatus Ġ== ĠCor Statuses . NONE Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Ġ{ Ġstatus Ġ= ĠCor Statuses . RUNNING Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexcept Ġ{ Ġstatus Ġ= ĠCor Statuses . ERROR Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġru . ot us . ot us kotlin . blog . common . cor . handlers . chain < TestContext > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġstatus Ġ== ĠCor Statuses . RUNNING Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" ÐĽ Ñı Ð¼ Ð± Ð´Ð° ĠÐ¾Ð± ÑĢÐ°Ð±Ð¾ÑĤ Ñĩ Ð¸Ðº ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" ÐŁÑĢ Ð¸Ð¼ÐµÑĢ ĠÐ¸ÑģÐ¿Ð¾Ð»ÑĮÐ·Ð¾Ð² Ð°Ð½Ð¸Ñı ĠÐ¾Ð± ÑĢÐ°Ð±Ð¾ÑĤ Ñĩ Ð¸ ÐºÐ° ĠÐ² ĠÐ²Ð¸Ð´ Ðµ ĠÐ» Ñı Ð¼ Ð± Ð´ Ñĭ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome Ġ+= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparallel Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome Ġ< Ġ 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker ( title Ġ= Ġ" Increment Ġsome ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Result () ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcor Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchain Ġ= ĠCor Test . chain ĊĠĠĠĠĠĠĠ Ġval Ġctx Ġ= ĠTest Context ( some Ġ= Ġ 1 3 ) ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ Ġchain . exec ( ctx ) Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 , Ġctx . some ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠI Cor Chain Dsl < TestContext >. print Result () Ġ= ĊĠĠĠ Ġworker ( title Ġ= Ġ" Print Ġexample ") Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" some Ġ= Ġ$ some ") ĊĠĠĠ Ġ} Ċ Ċ data Ġclass ĠTest Context ( ĊĠĠĠ Ġvar Ġstatus : ĠCor Statuses Ġ= ĠCor Statuses . NONE , ĊĠĠĠ Ġvar Ġsome : ĠInt Ġ= ĠInt . MIN _ VALUE Ċ ) Ċ Ċ enum Ġclass ĠCor Statuses Ġ{ ĊĠĠĠ ĠNONE , ĊĠĠĠ ĠRUN NING , ĊĠĠĠ ĠFAIL ING , ĊĠĠĠ ĠDONE , ĊĠĠĠ ĠERROR Ċ } Ċ