package Ġcom . bad oo . reak t ive . dis posable Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠDis posable Wrapper Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġwrapper Ġ= ĠDis posable Wrapper () ĊĠĠĠ Ġprivate Ġval Ġdis posable Ġ= Ġdis posable () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdoes _ not _ dispose _ new _ dis posable _ WHEN _ not _ dis posed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrapper . set ( dis posable ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( dis posable . is Disposed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdis poses _ new _ dis posable _ WHEN _ dis posed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrapper . set ( dis posable ) ĊĊĠĠĠĠĠĠĠ Ġwrapper . dispose () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( dis posable . is Disposed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdis poses _ new _ dis posable _ WHEN _ already _ dis posed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrapper . dispose () ĊĊĠĠĠĠĠĠĠ Ġwrapper . set ( dis posable ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( dis posable . is Disposed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdis poses _ previous _ dis posable _ WHEN _ new _ dis posable _ is _ set () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrapper . set ( dis posable ) ĊĊĠĠĠĠĠĠĠ Ġwrapper . set ( dis posable ()) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( dis posable . is Disposed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġis Disposed _ returns _ false _ WHEN _ not _ dis posed () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse ( wrapper . is Disposed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġis Disposed _ returns _ true _ WHEN _ dis posed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrapper . dispose () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( wrapper . is Disposed ) ĊĠĠĠ Ġ} Ċ }