package Ġio . sentry . android . core Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . os . Bundle Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any OrNull Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . check Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . eq Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . never Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . sentry . Breadcrumb Ċ import Ġio . sentry . Hub Ċ import Ġio . sentry . Scope Ċ import Ġio . sentry . S entry Level Ċ import Ġio . sentry . S entry Options Ċ import Ġio . sentry . S entry Tracer Ċ import Ġio . sentry . Span Status Ċ import Ġio . sentry . Transaction Context Ċ import Ġjava . util . Date Ċ import Ġkotlin . test . Before Test Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertSame Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠActivity Lifecycle IntegrationTest Ġ{ ĊĊĠĠĠ Ġprivate Ġclass ĠFix ture Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapplication Ġ= Ġmock < Application >() ĊĠĠĠĠĠĠĠ Ġval Ġhub Ġ= Ġmock < Hub >() ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠS entry Android Options () ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġmock < Bundle >() ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠTransaction Context (" name ", Ġ" op ") ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĠS entry Tracer ( context , Ġhub ) ĊĠĠĠĠĠĠĠ Ġval Ġbuild Info Ġ= Ġmock < I Build Info Provider >() ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetS ut ( apiVersion : ĠInt Ġ= Ġ 2 9 ): ĠActivity Lifecycle Integration Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( hub . options ). thenReturn ( options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( hub . start Transaction ( any (), Ġany (), Ġany OrNull < Date >(), Ġany ())). thenReturn ( transaction ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( build Info . sdk Info Version ). thenReturn ( apiVersion ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠActivity Lifecycle Integration ( application , Ġbuild Info ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġfixture Ġ= ĠFix ture () ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun Ġ` reset Ġinstance `() Ġ{ ĊĠĠĠĠĠĠĠ ĠApp Start State . getInstance (). reset Instance () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġlifecycle Ġbreadcrumb Ġis Ġenabled , Ġit Ġregisters Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application ). register Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġlifecycle Ġbreadcrumb Ġand Ġtracing Ġare Ġdisabled , Ġit Ġdoesn 't Ġregister Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Activity Lifecycle Breadcrumb s Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application , Ġnever ()). register Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġlifecycle Ġbreadcrumb Ġis Ġdisabled Ġbut Ġtracing Ġsample Ġrate Ġis Ġenabled , Ġit Ġregisters Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Activity Lifecycle Breadcrumb s Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application ). register Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġlifecycle Ġbreadcrumb Ġis Ġdisabled Ġbut Ġtracing Ġsample Ġcallback Ġis Ġenabled , Ġit Ġregisters Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Activity Lifecycle Breadcrumb s Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sampler Ġ= ĠS entry Options . Tr aces Sampler Callback Ġ{ Ġ 1 . 0 Ġ} ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application ). register Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġlifecycle Ġbreadcrumb Ġand Ġtracing Ġactivity Ġflag Ġare Ġdisabled , Ġit Ġdoesn 't Ġregister Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Activity Lifecycle Breadcrumb s Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sampler Ġ= ĠS entry Options . Tr aces Sampler Callback Ġ{ Ġ 1 . 0 Ġ} ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Auto Activity Lifecycle Tracing Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application , Ġnever ()). register Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When ĠActivity Breadcrumb s Integration Ġis Ġclosed , Ġit Ġshould Ġunregister Ġthe Ġcallback `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġsut . close () ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . application ). unregister Activity Lifecycle Callbacks ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġbreadcrumb Ġis Ġadded , Ġtype Ġand Ġcategory Ġshould Ġbe Ġset `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( check < Breadcrumb > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" ui . lifecycle ", Ġit . category ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" navigation ", Ġit . type ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( S entry Level . INFO , Ġit . level ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcant Ġassert Ġdata , Ġits Ġnot Ġa Ġpublic ĠAPI ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġcreated , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġstarted , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Started ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġres umed , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġpaused , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Paused ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġstopped , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Stopped ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġsave Ġinstance , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Save InstanceState ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġactivity Ġis Ġdestroyed , Ġit Ġshould Ġadd Ġa Ġbreadcrumb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Destroyed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). add Breadcrumb ( any < Breadcrumb >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġis Ġdisabled , Ġdo Ġnot Ġstart Ġtracing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub , Ġnever ()). start Transaction ( any (), Ġany (), Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġis Ġenabled Ġbut Ġactivity Ġis Ġrunning , Ġdo Ġnot Ġstart Ġtracing Ġagain `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġany (), Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Transaction Ġop Ġis Ġui _ load `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġset App StartTime () ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" ui . load ", Ġit ) ĊĠĠĠĠĠĠĠ Ġ}, Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Transaction Ġname Ġis Ġthe ĠActivity 's Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġset App StartTime () ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( check Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Activity ", Ġit ) ĊĠĠĠĠĠĠĠ Ġ}, Ġany (), Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtransaction Ġis Ġcreated , Ġset Ġtransaction Ġto Ġthe Ġbound ĠScope `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( fixture . hub . configure Scope ( any ())). then Answer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Ġ= ĠScope ( fixture . options ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . apply Scope ( scope , Ġfixture . transaction ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( scope . transaction ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtransaction Ġis Ġcreated , Ġdo Ġnot Ġoverwrite Ġtransaction Ġalready Ġbound Ġto Ġthe ĠScope `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( fixture . hub . configure Scope ( any ())). then Answer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Ġ= ĠScope ( fixture . options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprevious Transaction Ġ= ĠS entry Tracer ( Transaction Context (" name ", Ġ" op "), Ġfixture . hub ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope . transaction Ġ= Ġprevious Transaction ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . apply Scope ( scope , Ġfixture . transaction ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( previous Transaction , Ġscope . transaction ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġauto Ġfinish Ġis Ġenabled , Ġit Ġstops Ġthe Ġtransaction Ġon Ġon Activity Post Res umed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Post Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). capture Transaction ( check Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Span Status . OK , Ġit . status ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġhas Ġstatus , Ġdo Ġnot Ġoverwrite Ġit `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġfixture . transaction . status Ġ= ĠSpan Status . UNKNOWN _ ERROR ĊĊĠĠĠĠĠĠĠ Ġsut . on Activity Post Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). capture Transaction ( check Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Span Status . UNKNOWN _ ERROR , Ġit . status ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġauto Ġfinish Ġis Ġdisabled , Ġdo Ġnot Ġfinish Ġtransaction `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġfixture . options . is Enable Activity Lifecycle Tracing Auto Finish Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Post Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub , Ġnever ()). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtracing Ġis Ġdisabled , Ġdo Ġnot Ġfinish Ġtransaction `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Post Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub , Ġnever ()). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When ĠActivity Ġis Ġdestroyed Ġbut Ġtransaction Ġis Ġrunning , Ġfinish Ġit `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Destroyed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġtransaction Ġis Ġstarted , Ġadds Ġto ĠWeak W ef `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( sut . activities With O ngo ing Transactions . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When ĠActivity Ġis Ġdestroyed Ġremoves ĠWeak Ref `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Destroyed ( activity ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( sut . activities With O ngo ing Transactions . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġnew ĠActivity Ġand Ġtransaction Ġis Ġcreated , Ġfinish Ġprevious Ġones `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( mock (), Ġmock ()) ĊĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( mock (), Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġstart Ġtransaction Ġon Ġcreated Ġif ĠAPI Ġ 2 9 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġmock ()) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub , Ġnever ()). start Transaction ( any (), Ġany (), Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġstop Ġtransaction Ġon Ġres umed Ġif ĠAPI Ġ 2 9 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġmock ()) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub , Ġnever ()). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` start Ġtransaction Ġon Ġcreated Ġif ĠAPI Ġless Ġthan Ġ 2 9 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġset App StartTime () ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġmock ()) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġany (), Ġany OrNull < Date >(), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` stop Ġtransaction Ġon Ġres umed Ġif ĠAPI Ġ 2 9 Ġless Ġthan Ġ 2 9 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġmock ()) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). capture Transaction ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` App Ġstart Ġis ĠC old Ġwhen ĠsavedInstanceState Ġis Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġnull ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( App Start State . getInstance (). is Col d Start ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` App Ġstart Ġis ĠW arm Ġwhen ĠsavedInstanceState Ġis Ġnot Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġbundle ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( App Start State . getInstance (). is Col d Start ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Do Ġnot Ġoverwrite ĠApp Ġstart Ġtype Ġafter Ġset `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġbundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġnull ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( App Start State . getInstance (). is Col d Start ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` App Ġstart Ġend Ġtime Ġis Ġset `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġset App StartTime () ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġnull ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSystem Clock . uptime Millis () Ġalways Ġreturns Ġ 0 , Ġcan 't Ġassert Ġreal Ġvalues ĊĠĠĠĠĠĠĠ ĠassertNotNull ( App Start State . getInstance (). app Start Interval ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġtrue , Ġstart Ġtransaction Ġwith Ġgiven Ġapp StartTime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġcall Ġonly Ġonce ĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġany (), Ġeq ( date ), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġtrue , Ġstart Ġapp Ġstart Ġwarm Ġspan Ġwith Ġgiven Ġapp StartTime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġfixture . transaction . children . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( span . operation , Ġ" app . start . warm ") ĊĠĠĠĠĠĠĠ ĠassertSame ( span . start Timestamp , Ġdate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġtrue , Ġstart Ġapp Ġstart Ġcold Ġspan Ġwith Ġgiven Ġapp StartTime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġfixture . transaction . children . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( span . operation , Ġ" app . start . cold ") ĊĠĠĠĠĠĠĠ ĠassertSame ( span . start Timestamp , Ġdate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġtrue , Ġstart Ġapp Ġstart Ġspan Ġwith ĠW arm Ġdescription `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġfixture . transaction . children . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( span . description , Ġ" W arm ĠStart ") ĊĠĠĠĠĠĠĠ ĠassertSame ( span . start Timestamp , Ġdate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġtrue , Ġstart Ġapp Ġstart Ġspan Ġwith ĠC old Ġdescription `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġfixture . transaction . children . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( span . description , Ġ" Col d ĠStart ") ĊĠĠĠĠĠĠĠ ĠassertSame ( span . start Timestamp , Ġdate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġfirst Activity Created Ġis Ġfalse , Ġstart Ġtransaction Ġbut Ġnot Ġwith Ġgiven Ġapp StartTime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġfixture . getS ut () ĊĠĠĠĠĠĠĠ Ġfixture . options . traces Sample Rate Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġsut . register ( fixture . hub , Ġfixture . options ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( 0 ) ĊĠĠĠĠĠĠĠ Ġset App StartTime () ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġany (), Ġeq ( date ), Ġany ()) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Created ( activity , Ġfixture . bundle ) ĊĠĠĠĠĠĠĠ Ġsut . on Activity Post Res umed ( activity ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Activity Ġ= Ġmock < Activity >() ĊĠĠĠĠĠĠĠ Ġsut . on Activity Pre Created ( new Activity , Ġfixture . bundle ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnull Date : ĠDate ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġverify ( fixture . hub ). start Transaction ( any (), Ġany (), Ġeq ( null Date ), Ġany ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset App StartTime ( date : ĠDate Ġ= ĠDate ( 0 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġset Ġby ĠS entry Performance Provider Ġso Ġforcing Ġit Ġhere ĊĠĠĠĠĠĠĠ ĠApp Start State . getInstance (). set App StartTime ( 0 , Ġdate ) ĊĠĠĠ Ġ} Ċ } Ċ