// Ġ! WITH _ SE AL ED _ CLASSES Ċ Ċ /* Ċ ĠK OT LIN ĠDI AG NO ST ICS ĠSPEC ĠTEST Ġ( POSITIVE ) ĊĊ ĠSECTION : Ġ 1 6 . 3 0 ĠWhen Ġexpression Ċ ĠPAR AG R APH : Ġ 7 Ċ ĠS ENT ENCE : Ġ[ 1 ] ĠType Ġtest Ġcondition : Ġtype Ġchecking Ġoperator Ġfollowed Ġby Ġtype . Ċ ĠNUMBER : Ġ 4 Ċ ĠDESCRIPTION : Ġ' When ' Ġwith Ġbound Ġvalue Ġand Ġenum aration Ġof Ġtype Ġtest Ġconditions Ġ( with Ġinvert Ġtype Ġchecking Ġoperator ). Ċ Ġ*/ Ċ Ċ // ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġand Ġinvert Ġtype Ġchecking Ġoperator Ġin Ġthe Ġone Ġbranch Ġand Ġother Ġbranch . Ċ fun Ġcase _ 1 ( value : Ġ_ Se aled Class ): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Child 1 , Ġ! is Ġ_ Se aled Child 3 Ġ-> Ġ"" ĊĠĠĠ Ġ<! USE LESS _ IS _ CHECK !> is Ġ_ Se aled Child 3 <! > Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġthree Ġinvert Ġtype Ġchecking Ġoperator Ġin Ġthe Ġone Ġbranch . Ċ fun Ġcase _ 2 ( value : Ġ_ Se aled Class ) Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġ! is Ġ_ Se aled Child 1 , Ġ! is Ġ_ Se aled Child 2 , Ġ! is Ġ_ Se aled Child 3 Ġ-> Ġ{} Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġ( first ) Ġand Ġinvert Ġ( second ) Ġtype Ġchecking Ġoperator Ġon Ġthe Ġsome Ġtype Ġin Ġthe Ġone Ġbranch . Ċ fun Ġcase _ 3 ( value : Ġ_ Se aled Class ): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Child 2 , Ġ! is Ġ_ Se aled Child 2 Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġ( second ) Ġand Ġinvert Ġ( first ) Ġtype Ġchecking Ġoperator Ġin Ġthe Ġone Ġbranch . Ċ fun Ġcase _ 4 ( value : Ġ_ Se aled Class ): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġ! is Ġ_ Se aled Child 1 , Ġ<! USE LESS _ IS _ CHECK !> is Ġ_ Se aled Child 1 <! > Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġand Ġinvert Ġ( nullable ) Ġtype Ġchecking Ġoperator Ġon Ġthe Ġsome Ġtype Ġin Ġthe Ġone Ġbranch . Ċ fun Ġcase _ 5 ( value : ĠAny ?): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Child 3 , Ġ! is Ġ_ Se aled Child 3 ? Ġ-> Ġ"" ĊĠĠĠ Ġelse Ġ-> Ġ"" Ċ } Ċ Ċ /* Ċ ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġand Ġinvert Ġtype Ġchecking Ġoperator Ġin Ġthe Ġone Ġbranch Ġand Ġother Ġbranch Ġand Ġdouble Ġnullable Ġtype Ġcheck . Ċ ĠUN EXPECTED ĠBE HAV IO UR Ċ ĠISS UES : ĠK T - 2 2 9 9 6 Ċ Ġ*/ Ċ fun Ġcase _ 6 ( value : ĠAny ?): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis ĠBoolean ?, Ġ! is Ġ_ Se aled Child 3 Ġ-> Ġ"" Ġ// Ġdouble Ġnullable Ġtype Ġcheck Ġin Ġthe Ġone Ġbranch ĊĠĠĠ Ġ<! USE LESS _ IS _ CHECK !> is Ġ_ Se aled Child 3 <! > Ġ-> Ġ"" ĊĠĠĠ Ġelse Ġ-> Ġ"" Ċ } Ċ Ċ /* Ċ ĠCASE ĠDESCRIPTION : Ġ' When ' Ġwith Ġdirect Ġand Ġinvert Ġtype Ġchecking Ġoperator Ġand Ġnull - check Ġin Ġthe Ġone Ġbranch . Ċ ĠUN EXPECTED ĠBE HAV IO UR Ċ ĠISS UES : ĠK T - 2 2 9 9 6 Ċ Ġ*/ Ċ fun Ġcase _ 7 ( value : ĠAny ?): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis ĠNumber ?, Ġnull , Ġ! is Ġ_ Se aled Child 3 Ġ-> Ġ"" Ġ// Ġtriple Ġnullable Ġtype Ġcheck Ġin Ġthe Ġone Ġbranch ĊĠĠĠ Ġelse Ġ-> Ġ"" Ċ } Ċ