package Ġio . gitlab . art urb os ch . de te kt . rules . bugs Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . test . Test Config Ċ import Ġio . gitlab . art urb os ch . de te kt . test . lint Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . assertj . core . api . Assertions . assertThat Exception OfType Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe Ċ import Ġjava . util . regex . Pattern Syntax Exception Ċ Ċ class ĠL ate init Usage Spec Ġ: ĠSpe k ({ ĊĊĠĠĠ Ġdescribe (" Late init Usage Ġrule ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" Ċĉĉ ĉ package Ġfoo ĊĊĉĉ ĉ import Ġkotlin . jvm . Jvm Field Ċĉĉ ĉ import Ġkotlin . Since Kotlin ĊĊĉĉ ĉ class ĠSome Random Test Ġ{ Ċĉĉĉ ĉ @ Jvm Field Ġlateinit Ġvar Ġtest : ĠInt Ċĉĉĉ ĉ @ Jvm Field Ġ@ Since Kotlin (" 1 . 0 . 0 ") Ġlateinit Ġvar Ġsomething : ĠInt Ċĉĉ ĉ } Ċĉ ĉ """ ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreport Ġlateinit Ġusage s ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage (). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġannotated Ġ@ Jvm Field ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" Jvm Field ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġannotated Ġ@ Jvm Field Ġwith Ġtrailing Ġwhitespace ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" ĠJ vm Field Ġ" ))). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġmatching Ġkotlin .* ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" kotlin .* ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġmatching Ġkotlin . jvm .") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" kotlin . jvm .")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġmatching Ġkotlin . jvm .* ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" kotlin . jvm .* ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġexclude Ġlateinit Ġproperties Ġnot Ġmatching Ġthe Ġexclude Ġpattern ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . EXCL UDE _ AN NOT ATED _ PROPERTIES Ġto Ġ" Ignore This ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreport Ġlateinit Ġproperties Ġwhen Ġignore On Classes Pattern Ġdoes Ġnot Ġmatch ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . IGNORE _ ON _ CLASSES _ PATTERN Ġto Ġ"[ \\ w ]+ Test 1 2 3 4 ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġreport Ġlateinit Ġproperties Ġwhen Ġignore On Classes Pattern Ġdoes Ġmatch ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . IGNORE _ ON _ CLASSES _ PATTERN Ġto Ġ"[ \\ w ]+ Test ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġfail Ġwhen Ġenabled Ġwith Ġfault y Ġregex Ġpattern ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat Exception OfType ( Pattern Syntax Exception :: class . java ). is Thrown By Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ate init Usage ( Test Config ( map Of ( Late init Usage . IGNORE _ ON _ CLASSES _ PATTERN Ġto Ġ"* Test ")) ). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġnot Ġfail Ġwhen Ġdisabled Ġwith Ġfault y Ġregex Ġpattern ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfig Values Ġ= Ġmap Of (" active " Ġto Ġ" false ", ĠL ate init Usage . IGNORE _ ON _ CLASSES _ PATTERN Ġto Ġ"* Test ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĠL ate init Usage ( Test Config ( config Values )). lint ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ