package Ġcom . github . ro z ag . k ue ue Ċ Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ import Ġjava . util . concurrent . Executor Ċ Ċ @ Suppress (" FunctionName ") Ċ class ĠK ue ue Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġexecutor Ġ= ĠExecutor Ġ{ Ġrunnable Ġ-> Ġrunnable ?. run () Ġ} ĊĠĠĠ Ġprivate Ġval Ġk ue ue : ĠK ue ue Ġ= ĠK ue ue ( executor , Ġexecutor ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġno Callbacks Set _ task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . perform < Boolean > Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ}. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete Set _ task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . perform < Boolean > Ġ{ ĠonComplete , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onComplete Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonError Set _ task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠException (" test ") ĊĠĠĠĠĠĠĠ Ġk ue ue . perform < Boolean > Ġ{ Ġ_, ĠonError Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( error ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( error , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onError Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete And OnError Set _ normal Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . perform < Boolean > Ġ{ ĠonComplete , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ ĠonError Inv oked Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onComplete Inv oked ) ĊĠĠĠĠĠĠĠ ĠassertTrue (! onError Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete And OnError Set _ error Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠException (" test ") ĊĠĠĠĠĠĠĠ Ġk ue ue . perform < Boolean > Ġ{ Ġ_, ĠonError Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( error ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( error , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue (! onComplete Inv oked ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onError Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġno Callbacks Set _ callable Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . from Callable Ġ{ Ġtask Performed Ġ= Ġtrue Ġ}. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete Set _ callable Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . from Callable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onComplete Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonError Set _ callable Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠException (" test ") ĊĠĠĠĠĠĠĠ Ġk ue ue . from Callable < Boolean > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġerror ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( error , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onError Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete And OnError Set _ normal Callable Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġk ue ue . from Callable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ ĠonError Inv oked Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onComplete Inv oked ) ĊĠĠĠĠĠĠĠ ĠassertTrue (! onError Inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠonComplete And OnError Set _ error Callable Task Performed () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtask Performed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonComplete Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar ĠonError Inv oked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠException (" test ") ĊĠĠĠĠĠĠĠ Ġk ue ue . from Callable < Boolean > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Performed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġerror ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onComplete Ġ{ Ġbool Ġ-> ĠonComplete Inv oked Ġ= Ġbool Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Inv oked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( error , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. go () ĊĠĠĠĠĠĠĠ ĠassertTrue ( task Performed ) ĊĠĠĠĠĠĠĠ ĠassertTrue (! onComplete Inv oked ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( onError Inv oked ) ĊĠĠĠ Ġ} Ċ Ċ }