package Ġnet . app tr onic . core . context . coroutines Ċ Ċ import Ġkotlinx . coroutines . cancel Ċ import Ġkotlinx . coroutines . launch Ċ import Ġnet . app tr onic . core . context . lifecycle . Lifecycle Ċ import Ġnet . app tr onic . core . context . lifecycle . enter Stage Ċ import Ġnet . app tr onic . core . context . lifecycle . exit Stage Ċ import Ġnet . app tr onic . core . context . terminate Ċ import Ġnet . app tr onic . core . test utils . Test Lifecycle Ċ import Ġnet . app tr onic . core . test utils . create TestContext Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNot Same Ċ Ċ class ĠCor outine Scope Cre ations Test Ġ{ ĊĊĠĠĠ Ġval Ġcontext Ġ= Ġcreate TestContext () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Execute On Local () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert ( inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Execute On Local () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġcontext . terminate () ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert (! inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Execute On Local Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . cancel () ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert (! inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Execute On Lifecycle () Ġ{ ĊĠĠĠĠĠĠĠ Ġenter Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert ( inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Execute On Lifecycle () Ġ{ ĊĠĠĠĠĠĠĠ Ġenter Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġexit Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠLifecycle . ROOT _ STAGE ) ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert (! inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Execute On Lifecycle Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ Ġenter Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . cancel () ĊĠĠĠĠĠĠĠ Ġvar Ġinvoked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert (! inv oked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Different Instances Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Different Instances Context On Stages () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġenter Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Different Instances Lifecycle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Different Instances Lifecycle Stages () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġenter Stage ( context , ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . lifecycle . getActive Stage () !!. get Stage Definition (), ĠTest Lifecycle . STAGE _ CREATED ) ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Different Instances For Context And Lifecycle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Return Same As Instances 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . context Coroutine Scope ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Return Same As Instances 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . lifecycle Coroutine Scope ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Return Same As Instances 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . context Coroutine Scope ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Lifecycle Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Return Same As Instances 4 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 1 Ġ= Ġcontext . lifecycle Coroutine Scope ĊĠĠĠĠĠĠĠ Ġval Ġcoroutine Scope 2 Ġ= Ġcontext . create Context Coroutine Scope () ĊĠĠĠĠĠĠĠ Ġassert Not Same ( coroutine Scope 1 , Ġcoroutine Scope 2 ) ĊĠĠĠ Ġ} Ċ Ċ }