package Ġru . cap jack . tool . de pin Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertSame Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠTest Produce Observer Ġ{ Ċ ĉ @ Test Ċ ĉ fun Ġbefore _ produce () Ġ{ Ċĉ ĉ var Ġobserved Ġ= Ġfalse ĊĉĉĊĉ ĉ val Ġinjector Ġ= ĠInject or Ġ{ Ċĉĉ ĉ add Produce Observer Before < Stub Auto Implementation > Ġ{ Ċĉĉĉ ĉ observed Ġ= Ġtrue Ċĉĉ ĉ } Ċĉ ĉ } ĊĉĉĊĉ ĉ injector . get < Stub Auto Implementation >() ĊĉĉĊĉ ĉ assertTrue ( observed ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ fun Ġbefore _ after () Ġ{ Ċĉ ĉ var Ġobserved : ĠStub Auto Implementation ? Ġ= Ġnull ĊĉĉĊĉ ĉ val Ġinjector Ġ= ĠInject or Ġ{ Ċĉĉ ĉ add Produce Observer After < Stub Auto Implementation > Ġ{ Ġ_, Ġobj Ġ-> Ċĉĉĉ ĉ observed Ġ= Ġobj Ċĉĉ ĉ } Ċĉ ĉ } ĊĉĉĊĉ ĉ val Ġobj Ġ= Ġinjector . get < Stub Auto Implementation >() ĊĉĉĊĉ ĉ assertSame ( obj , Ġobserved ) Ċ ĉ } Ċĉ Ċ }