/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ċ Ġ* Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġtest . exceptions Ċ Ċ import Ġkotlin . test .* Ċ Ċ class ĠException Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcause Ġ= ĠException (" cause ") ĊĊĠĠĠ Ġ@ Test Ġfun Ġthrowable () Ġ= Ġtest Create Exception (:: Throwable , Ġ:: Throwable , Ġ:: Throwable , Ġ:: Throwable ) ĊĠĠĠ Ġ@ Test Ġfun Ġerror () Ġ= Ġtest Create Exception (:: Error , Ġ:: Error , Ġ:: Error , Ġ:: Error ) ĊĠĠĠ Ġ@ Test Ġfun Ġexception () Ġ= Ġtest Create Exception (:: Exception , Ġ:: Exception , Ġ:: Exception , Ġ:: Exception ) ĊĠĠĠ Ġ@ Test Ġfun Ġruntime Exception () Ġ= Ġtest Create Exception (:: RuntimeException , Ġ:: RuntimeException , Ġ:: RuntimeException , Ġ:: RuntimeException ) ĊĠĠĠ Ġ@ Test Ġfun Ġillegal ArgumentException () Ġ= Ġtest Create Exception (:: IllegalArgumentException , Ġ:: IllegalArgumentException , Ġ:: IllegalArgumentException , Ġ:: IllegalArgumentException ) ĊĠĠĠ Ġ@ Test Ġfun Ġillegal StateException () Ġ= Ġtest Create Exception (:: IllegalStateException , Ġ:: IllegalStateException , Ġ:: IllegalStateException , Ġ:: IllegalStateException ) ĊĠĠĠ Ġ@ Test Ġfun Ġindex OutOfBoundsException () Ġ= Ġtest Create Exception (:: Index OutOfBoundsException , Ġ:: Index OutOfBoundsException ) ĊĠĠĠ Ġ@ Test Ġfun Ġunsupported OperationException () Ġ= Ġtest Create Exception (:: Unsupported OperationException , Ġ:: Unsupported OperationException , Ġ:: Unsupported OperationException , Ġ:: Unsupported OperationException ) ĊĠĠĠ Ġ@ Test Ġfun Ġnumber FormatException () Ġ= Ġtest Create Exception (:: Number FormatException , Ġ:: Number FormatException ) ĊĠĠĠ Ġ@ Test Ġfun Ġnull PointerException () Ġ= Ġtest Create Exception (:: NullPointerException , Ġ:: NullPointerException ) ĊĠĠĠ Ġ@ Test Ġfun Ġclass CastException () Ġ= Ġtest Create Exception (:: Class CastException , Ġ:: Class CastException ) ĊĠĠĠ Ġ@ Test Ġfun Ġno Such ElementException () Ġ= Ġtest Create Exception (:: NoSuch ElementException , Ġ:: NoSuch ElementException ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġno When Branch Matched Exception () Ġ= Ġtest Create Exception (:: No When Branch Matched Exception , Ġ:: No When Branch Matched Exception , Ġ:: No When Branch Matched Exception , Ġ:: No When Branch Matched Exception ) ĊĠĠĠ Ġ@ Test Ġfun Ġun initialized Property AccessException () Ġ= Ġtest Create Exception (:: Un initialized Property AccessException , Ġ:: Un initialized Property AccessException , Ġ:: Un initialized Property AccessException , Ġ:: Un initialized Property AccessException ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġassertion Error () Ġ= Ġtest Create Exception (:: AssertionError , Ġ:: AssertionError , Ġ:: AssertionError ) ĊĊĊĠĠĠ Ġprivate Ġfun Ġ< T Ġ: ĠThrowable > Ġtest Create Exception ( ĊĠĠĠĠĠĠĠ Ġno arg : Ġ() Ġ-> ĠT , ĊĠĠĠĠĠĠĠ Ġfrom Message : Ġ( String ?) Ġ-> ĠT , ĊĠĠĠĠĠĠĠ Ġfrom Cause : Ġ(( Throwable ?) Ġ-> ĠT )? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġfrom Message Cause : Ġ(( String ?, ĠThrowable ?) Ġ-> ĠT )? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġno arg (). let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġe . cause ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfrom Message (" message "). let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" message ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġe . cause ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfrom Message ( null ). let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( e . message Ġ== Ġnull Ġ|| Ġe . message Ġ== Ġ" null ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfrom Message Cause ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke (" message ", Ġcause ). let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" message ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertSame ( cause , Ġe . cause ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke ( null , Ġnull ). let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġe . cause ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfrom Cause ?. invoke ( cause )?. let Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertSame ( cause , Ġe . cause ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }