package Ġcom . github . uh ara qo Ċ Ċ import Ġio . mock k . clear All Mocks Ċ import Ġio . mock k . confirm Verified Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . junit 5 . Mock K Extension Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ Ċ @ Extend With ( Mock K Extension :: class ) Ċ class ĠMock k Extension Test Ġ{ ĊĊĠĠĠ Ġinner Ġclass ĠFoo ( private Ġval Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetValue () Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġmethod Ġcall ĊĠĠĠ Ġprivate Ġval Ġfoo 1 : ĠFoo Ġ= Ġmock k () ĊĊĠĠĠ Ġ// Ġannotation ĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġfoo 2 : ĠFoo ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear All Mocks () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` mock Ġby Ġmethod Ġcall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfoo 1 . getValue () Ġ} Ġreturns Ġ" dummy 1 " ĊĠĠĠĠĠĠĠ ĠassertThat ( foo 1 . getValue ()). isEqualTo (" dummy 1 ") ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfoo 1 . getValue () Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( foo 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` mock Ġby Ġlateinit Ġvar Ġwith Ġannotation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfoo 2 . getValue () Ġ} Ġreturns Ġ" dummy 2 " ĊĠĠĠĠĠĠĠ ĠassertThat ( foo 2 . getValue ()). isEqualTo (" dummy 2 ") ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfoo 2 . getValue () Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( foo 2 ) ĊĠĠĠ Ġ} Ċ } Ċ