package Ġcom . char 0 de y . calculator . presentation Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . char 0 de y . calculator . data . Main Repository Ċ import Ġcom . char 0 de y . calculator . data . Part Ċ import Ġcom . char 0 de y . calculator . domain . Main Interactor Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ class ĠMain ViewModel Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= ĠTest Communication () ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠMain ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Communication (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Interactor . Base ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMain Repository . Base ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPart . Base (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPart . Base () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("", Ġsuccess . text ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . handle (" 1 2 ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 ", Ġsuccess . text ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . plus () ĊĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 Ġ+ Ġ", Ġsuccess . text ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . handle (" 3 4 ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 Ġ+ Ġ 3 4 ", Ġsuccess . text ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . calculate () ĊĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 \ n Ġ+ Ġ\ n 3 4 \ n \ n Ġ= Ġ 4 6 ", Ġsuccess . text ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠTest Communication Ġ: ĠMain Communication Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġtext Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġobserve ( lifecycle Owner : ĠLifecycle Owner , Ġobserver : ĠObserver < String >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmap ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }