package Ġapp . future d . ark ite kt . cr use cases . utils Ċ Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ class ĠThrowable Extensions Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġroot Ġcause Ġexists Ġthen Ġroot Cause Ġshould Ġreturn Ġit `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Exception Ġ= ĠArithmetic Exception () ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= ĠRuntimeException ( IllegalStateException ( root Exception )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( root Exception , Ġexception . root Cause ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġroot Ġcause Ġdoes Ġnot Ġexists Ġthen Ġroot Cause Ġshould Ġreturn Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= ĠRuntimeException () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġexception . root Cause ) ĊĠĠĠ Ġ} Ċ } Ċ