package Ġorg . wild aid . of ish . ui . risk Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . mock k Class Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġorg . wild aid . of ish . data . Repository Ċ import Ġorg . wild aid . of ish . data . Safety Color Ċ import Ġorg . wild aid . of ish . data . report . Inspection Ċ import Ġorg . wild aid . of ish . data . report . Report Ċ import Ġorg . wild aid . of ish . data . report . Safety Level Ċ import Ġorg . wild aid . of ish . data . report . Summary Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) Ċ class ĠR isk ViewModel Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrisk VM : ĠR isk ViewModel ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport : ĠReport ĊĠĠĠ Ġ@ Mock K ( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepository : ĠRepository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġreport . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinspection Ġ= Ġmock k Class ( Inspection :: class ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Ġ= Ġmock k Class ( Summary :: class ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsafety Level Ġ= ĠS afety Level (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠS afety Color . Green . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrisk VM Ġ= ĠR isk ViewModel ( repository , ĠApplication Provider . getApplicationContext ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ViewModel ( report , Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Init Report () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value Ġ== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. level Ġ== ĠS afety Color . Green . name ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. amber Reason ?. isBlank () Ġ== Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Green Ch osen () Ġ{ ĊĠĠĠĠĠĠĠ Ġrisk VM . on Green Ch osen () ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value Ġ== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. level Ġ== ĠS afety Color . Green . name ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. amber Reason ?. isBlank () Ġ== Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Am ber Ch osen () Ġ{ ĊĠĠĠĠĠĠĠ Ġrisk VM . on Am ber Ch osen () ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value Ġ== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. level Ġ== ĠS afety Color . Am ber . name ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. amber Reason ?. isBlank () Ġ== Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Red Ch osen () Ġ{ ĊĠĠĠĠĠĠĠ Ġrisk VM . on Red Ch osen () ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value Ġ== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. level Ġ== ĠS afety Color . Red . name ) ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . risk LiveData . value ?. safety Level ?. amber Reason ?. isBlank () Ġ== Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Next Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value Ġ== Ġnull ) ĊĠĠĠĠĠĠĠ Ġrisk VM . onNext Clicked () ĊĠĠĠĠĠĠĠ Ġassert ( risk VM . user Events LiveData . value ?. peek Content () Ġ== ĠR isk ViewModel . Risk User Event . Next Event ) ĊĠĠĠ Ġ} Ċ }