package Ġconfig Ċ Ċ import Ġjava . io . String Reader Ċ import Ġjava . util .* Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠConfig Base Test Ġ{ ĊĊĠĠĠ Ġclass ĠConfig Mock Ġ: ĠProperties () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( content : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Mock (). apply Ġ{ Ġload ( String Reader ( content )) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfoo : ĠBoolean Ġby Ġboolean Property (" foo ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġbar : ĠString Ġby Ġstring Property (" bar ", Ġ" 1 2 3 4 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdefault Boolean Property _ shouldBe _ false () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠConfig Mock ("") ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġtarget . foo Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdefault Boolean Property () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠConfig Mock (" foo = true ") ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġtarget . foo Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinvalid Boolean Property _ should Return _ default () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠConfig Mock (" foo = xyz ") ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġtarget . foo Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdefault String Property () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠConfig Mock (" bar = cic c io ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" cic c io ", Ġtarget . bar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġextern a Load () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠConfig Mock () ĊĠĠĠĠĠĠĠ Ġtarget [" bar "] Ġ= Ġ" external " ĊĠĠĠĠĠĠĠ ĠassertEquals (" external ", Ġtarget . bar ) ĊĠĠĠ Ġ} Ċ Ċ }