package Ġio . gitlab . art urb os ch . de te kt . rules . style Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . rules . setup Kotlin Environment Ċ import Ġio . gitlab . art urb os ch . de te kt . test . assertThat Ċ import Ġio . gitlab . art urb os ch . de te kt . test . compile And Lint WithContext Ċ import Ġorg . jetbrains . kotlin . cli . jvm . compiler . Kotlin Core Environment Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe Ċ Ċ class ĠUse If Empty Or If Blank Spec Ġ: ĠSpe k ({ ĊĠĠĠ Ġsetup Kotlin Environment () ĊĠĠĠ Ġval Ġenv : ĠKotlin Core Environment Ġby Ġmemoized () ĊĠĠĠ Ġval Ġsubject Ġby Ġmemoized Ġ{ ĠUse If Empty Or If Blank () Ġ} ĊĊĠĠĠ Ġdescribe (" report ĠUse If Empty Or If Blank Ġrule ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit (" String . isBlank ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠApi ( val Ġname : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( api : ĠApi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġif Ġ( api . name . isBlank ()) Ġ" John " Ġelse Ġapi . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Source Location ( 4 , Ġ 2 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isBlank ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Blank '") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" String . isNotBlank ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠApi ( val Ġname : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( api : ĠApi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġif Ġ( api . name . isNotBlank ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" John " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Source Location ( 4 , Ġ 2 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isNotBlank ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Blank '") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" String . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠApi ( val Ġname : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( api : ĠApi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġif Ġ( api . name . isEmpty ()) Ġ" John " Ġelse Ġapi . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Source Location ( 4 , Ġ 2 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isEmpty ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Empty '") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" String . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠApi ( val Ġname : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( api : ĠApi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġif Ġ( api . name . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" John " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Source Location ( 4 , Ġ 2 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isNotEmpty ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Empty '") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" List . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" List . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Set . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( set : ĠSet < Int >): ĠSet < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( set . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Set . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( set : ĠSet < Int >): ĠSet < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( set . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Map . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( map : ĠMap < Int , ĠInt >): ĠMap < Int , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( map . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( 1 Ġto Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Map . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( map : ĠMap < Int , ĠInt >): ĠMap < Int , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( map . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( 1 Ġto Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Collection . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( collection : ĠCollection < Int >): ĠCollection < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( collection . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Collection . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( collection : ĠCollection < Int >): ĠCollection < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( collection . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" implicit Ġreceiver ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun ĠString . test (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" default Ġvalue Ġblock Ġis Ġnot Ġsingle Ġstatement ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" ! isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! list . isEmpty ()) Ġ{ Ġ// Ġlist . isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isEmpty ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Empty '") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" ! isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! list . isNotEmpty ()) Ġ{ Ġ// Ġlist . isEmpty () ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings [ 0 ]). has Message (" This Ġ' isNotEmpty ' Ġcall Ġcan Ġbe Ġreplaced Ġwith Ġ' if Empty '") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" does Ġnot Ġreport ĠUse If Empty Or If Blank Ġrule ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit (" String . isNull Or Blank ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠApi ( val Ġname : ĠString ?) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( api : ĠApi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġif Ġ( api . name . isNull Or Blank ()) Ġ" John " Ġelse Ġapi . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" List . isNull OrEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest 2 ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Array . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( arr : ĠArray < String >): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( arr . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" Array . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( arr : ĠArray < String >): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( arr . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" IntArray . isEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( arr : ĠInt Array ): ĠInt Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( arr . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" IntArray . isNotEmpty ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( arr : ĠInt Array ): ĠInt Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( arr . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" else Ġif ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >, Ġb : ĠBoolean ): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" no Ġelse ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" not Ġself Ġvalue ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ+ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" self Ġvalue Ġblock Ġis Ġnot Ġsingle Ġstatement ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" condition Ġis Ġbinary Ġexpression ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest ( list : ĠList < Int >): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isEmpty () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ