// Ġ! USE _ EXPERIMENT AL : Ġkotlin . contracts . Experimental Contracts Ċ // ĠSKIP _ TXT Ċ Ċ /* Ċ Ġ* ĠK OT LIN ĠDI AG NO ST ICS ĠNOT ĠLINK ED ĠSPEC ĠTEST Ġ( POSITIVE ) Ċ Ġ* Ċ Ġ* ĠSECTION S : Ġcontracts , Ġanalysis , Ġsmart casts Ċ Ġ* ĠNUMBER : Ġ 1 2 Ċ Ġ* ĠDESCRIPTION : ĠSmart casts Ġafter Ġnon - null Ġassertions Ġor Ġnot - null Ġvalue Ġassignment Ġin Ġlamb das Ġof Ġcontract Ġfunction Ġwith Ġ' exact ly Ġonce ' Ġor Ġ' at Ġleast Ġonce ' ĠCalls In Place Ġeffects . Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 6 1 4 8 Ċ Ġ* ĠHEL PER S : Ġcontract Functions Ċ Ġ*/ Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 Ċ fun Ġcase _ 1 ( arg : ĠInt ?) Ġ{ ĊĠĠĠ Ġfun With Exactly Once Calls In Place Ġ{ Ġarg !! Ġ} ĊĠĠĠ Ġarg . inc () Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 Ċ fun Ġcase _ 2 ( arg : ĠInt ?) Ġ{ ĊĠĠĠ Ġfun With At Least Once Calls In Place Ġ{ Ġarg !! Ġ} ĊĠĠĠ Ġarg .< ! AM BIG U ITY !> inc <! >() Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 3 Ċ fun Ġcase _ 3 () Ġ{ ĊĠĠĠ Ġval Ġvalue _ 1 : ĠBoolean ? ĊĠĠĠ Ġfun With Exactly Once Calls In Place Ġ{ Ġvalue _ 1 Ġ= Ġfalse Ġ} ĊĠĠĠ Ġvalue _ 1 . not () Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 4 Ċ fun Ġcase _ 4 () Ġ{ ĊĠĠĠ Ġval Ġvalue _ 1 : ĠBoolean ? ĊĠĠĠ Ġfun With At Least Once Calls In Place Ġ{ Ġvalue _ 1 Ġ= Ġtrue Ġ} ĊĠĠĠ Ġvalue _ 1 .< ! IN AP PL IC ABLE _ C AND ID ATE !> not <! >() Ċ } Ċ