package Ġdev . sh ust off . di kt . compiler Ċ Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . tsch uch ort . compile testing . Kotlin Compilation Ċ import Ġcom . tsch uch ort . compile testing . SourceFile Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Temporary Folder Ċ Ċ class ĠNull ability Test Ġ{ ĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġfolder : ĠTemporary Folder Ġ= ĠTemporary Folder () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` nullable Ġtype Ġconsidered Ġa Ġdifferent Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcompile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfolder . root , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSource File . kotlin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" My Module . kt ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġdev . sh ust off . di kt . compiler ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġdev . sh ust off . di kt . Create ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠInjectable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependency : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠMy Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependency : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Create Ġfun Ġinject able (): ĠInjectable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result . exit Code ). isEqualTo ( Kotlin Compilation . ExitCode . COMPI L ATION _ ERROR ) ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result . messages ). contains (" Can 't Ġresolve Ġdependency Ġkotlin . String ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` nullable Ġtype Ġinjected Ġjust Ġas Ġnormal Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcompile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfolder . root , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSource File . kotlin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" My Module . kt ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġdev . sh ust off . di kt . compiler ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġdev . sh ust off . di kt . Create ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠInjectable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependency : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠMy Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependency : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Create Ġfun Ġinject able (): ĠInjectable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result . exit Code ). isEqualTo ( Kotlin Compilation . ExitCode . OK ) ĊĠĠĠ Ġ} Ċ }