package Ġio . gitlab . art urb os ch . de te kt . rules . bugs Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . test . lint Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . jetbrains . spe k . api . dsl . describe Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġorg . jetbrains . spe k . subject . Subject Spe k Ċ Ċ class ĠUse less Post fix Expression Spec Ġ: ĠSubject Spe k < Use less Post fix Expression >({ Ċ ĉ subject Ġ{ ĠUse less Post fix Expression () Ġ} ĊĊ ĉ describe (" check Ġseveral Ġtypes Ġof Ġpostfix Ġincre ments ") Ġ{ ĊĊĉ ĉ it (" overrides Ġthe Ġincrement ed Ġinteger ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ fun Ġx () Ġ{ Ċĉĉĉĉ ĉ var Ġi Ġ= Ġ 0 Ċĉĉĉĉ ĉ i Ġ= Ġi -- Ġ// Ġinvalid Ċĉĉĉĉ ĉ i Ġ= Ġ 1 Ġ+ Ġi ++ Ġ// Ġinvalid Ċĉĉĉĉ ĉ i Ġ= Ġi ++ Ġ+ Ġ 1 Ġ// Ġinvalid Ċĉĉĉ ĉ } """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). has Size ( 3 ) Ċĉ ĉ } ĊĊĉ ĉ it (" does Ġnot Ġoverride Ġthe Ġincrement ed Ġinteger ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ fun Ġf () Ġ{ Ċĉĉĉĉ ĉ var Ġj Ġ= Ġ 0 Ċĉĉĉĉ ĉ j Ġ= Ġi ++ Ċĉĉĉ ĉ } """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). has Size ( 0 ) Ċĉ ĉ } ĊĊĉ ĉ it (" returns Ġno Ġincrement ed Ġvalue ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ fun Ġx () Ġ{ Ċĉĉĉĉ ĉ var Ġi Ġ= Ġ 0 Ċĉĉĉĉ ĉ if Ġ( i Ġ== Ġ 0 ) Ġreturn Ġ 1 Ġ+ Ġj ++ Ċĉĉĉĉ ĉ return Ġi ++ Ċĉĉĉ ĉ } """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). has Size ( 2 ) Ċĉ ĉ } ĊĊĉ ĉ it (" should Ġnot Ġreport Ġfield Ġincre ments ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ class ĠTest Ġ{ Ċĉĉĉĉ ĉ private Ġvar Ġrunning Id : ĠLong Ġ= Ġ 0 ĊĊĉĉĉĉ ĉ fun Ġincrement () Ġ{ Ċĉĉĉĉĉ ĉ running Id ++ Ċĉĉĉĉ ĉ } ĊĊĉĉĉĉ ĉ fun ĠgetId (): ĠLong Ġ{ Ċĉĉĉĉĉ ĉ return Ġrunning Id ++ Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } ĊĊĉĉĉ ĉ class ĠFoo ( var Ġi : ĠInt Ġ= Ġ 0 ) Ġ{ Ċĉĉĉĉ ĉ fun ĠgetId And Increment (): ĠInt Ġ{ Ċĉĉĉĉĉ ĉ return Ġi ++ Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉĉ ĉ """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). isEmpty () Ċĉ ĉ } ĊĊĉ ĉ it (" should Ġdetect Ġproperties Ġshadow ing Ġfields Ġthat Ġare Ġincrement ed ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ class ĠTest Ġ{ Ċĉĉĉĉ ĉ private Ġvar Ġrunning Id : ĠLong Ġ= Ġ 0 ĊĊĉĉĉĉ ĉ fun ĠgetId (): ĠLong Ġ{ Ċĉĉĉĉĉ ĉ val Ġrunning Id : ĠLong Ġ= Ġ 0 Ċĉĉĉĉĉ ĉ return Ġrunning Id ++ Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } ĊĊĉĉĉ ĉ class ĠFoo ( var Ġi : ĠInt Ġ= Ġ 0 ) Ġ{ Ċĉĉĉĉ ĉ fun Ġfoo (): ĠInt Ġ{ Ċĉĉĉĉĉ ĉ var Ġi Ġ= Ġ 0 Ċĉĉĉĉĉ ĉ return Ġi ++ Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉĉ ĉ """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). has Size ( 2 ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ describe (" Only Ġ++ Ġand Ġ-- Ġpostfix Ġoperators Ġshould Ġbe Ġconsidered ") Ġ{ ĊĊĉ ĉ it (" should Ġnot Ġreport Ġ!! Ġin Ġa Ġreturn Ġstatement ") Ġ{ Ċĉĉ ĉ val Ġcode Ġ= Ġ""" Ċĉĉĉ ĉ fun ĠgetInstance (): ĠSwift Browser Idle Task Helper Ġ{ Ċĉĉĉĉ ĉ return Ġs Instance !! Ċĉĉĉ ĉ } ĊĊĉĉĉ ĉ fun Ġtest Property (): ĠInt Ġ{ Ċĉĉĉĉ ĉ return Ġshould Not BeNull !!. field Ċĉĉĉ ĉ } Ċĉĉĉ ĉ """ Ċĉĉ ĉ assertThat ( subject . lint ( code )). isEmpty () Ċĉ ĉ } ĊĊĉ ĉ it (" should Ġnot Ġreport Ġ!! Ġin Ġa Ġstandalone Ġexpression ") Ġ{ Ċĉĉ ĉ assertThat ( subject . lint (" s Instance !! ")). isEmpty () Ċĉ ĉ } Ċ ĉ } Ċ }) Ċ