package Ġfixture 5 Ċ Ċ import Ġfixture 5 . annotations . Fixture Context Ċ import Ġorg . junit . jupiter . api . extension . Extension Context . Store Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ data Ġclass ĠTest Data ( val Ġvalue : ĠInt Ġ= Ġ 4 2 ) Ċ Ċ class ĠExample Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġvar Ġinitial ised Ġby ĠDeleg ates . notNull < Boolean >() ĊĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġinitial ised Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{ ĊĠĠĠĠĠĠĠ Ġinitial ised Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Fixture Context ( provides Ġ= Ġ[ TestData :: class ]) Ċ class ĠExample Provider Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġstore ( TestData ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{} Ċ } ĊĊ Ċ @ Fixture Context ( requires Ġ= Ġ[ TestData :: class ]) Ċ class ĠExample Consumer Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{} Ċ } Ċ Ċ class ĠExample Setup Throw ing Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" O ops ie ĠD ais y !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{} Ċ } Ċ Ċ class ĠExample Te ardown Throw ing Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" O ops ie ĠD ais y !") ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCount ing Setup Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Count ing Setup Fixture >() ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcounter Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġnum Ġ= Ġcounter ++ ĊĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . add ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{} Ċ } Ċ Ċ class ĠCount ing Te ardown Fixture ( store : ĠStore ) Ġ: ĠTest Fixture ( store ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Count ing Te ardown Fixture >() ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcounter Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġnum Ġ= Ġcounter ++ ĊĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġteardown () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . add ( this ) ĊĠĠĠ Ġ} Ċ } Ċ