package Ġcom . example . ni j ata hm ad li . converter . presentation . converter . viewModel Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġcom . example . ni j ata hm ad li . domain . model . Rate Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġjava . math . BigDecimal Ċ Ċ class ĠConverter Item ViewModel Impl Test Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġinstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠR ATE _ CODE Ġ= Ġ" EUR " ĊĠĠĠĠĠĠĠ Ġval ĠR ATE _ VALUE Ġ= ĠBigDecimal ( 1 . 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsut Ġ= ĠConverter Item ViewModel Impl () ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrate : ĠRate ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Model _ should _ currency Code And Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( rate . code ). thenReturn ( RATE _ CODE ) ĊĠĠĠĠĠĠĠ Ġwhenever ( rate . value ). thenReturn ( RATE _ VALUE ) ĊĊĠĠĠĠĠĠĠ Ġsut . setModel ( rate ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( sut . currency Code . value ). isEqualTo ( RATE _ CODE ) ĊĠĠĠĠĠĠĠ ĠassertThat ( sut . currency Value . value ). isEqualTo ( RATE _ VALUE ) ĊĠĠĠ Ġ} Ċ }