package Ġcom . nb ot tar ini . as im ov . flag z . manager . metadata Ċ Ċ import Ġcom . nb ot tar ini . as im ov . flag z . Feature Ċ import Ġcom . nb ot tar ini . as im ov . flag z . conditional Str ategies . Users Strategy Ċ import Ġcom . nb ot tar ini . as im ov . flag z . conditional Str ategies . Users Strategy . Companion . PARAM _ USERS Ċ import Ġcom . nb ot tar ini . as im ov . flag z . conditional Str ategies . annotations . Conditional Ċ import Ġcom . nb ot tar ini . as im ov . flag z . conditional Str ategies . annotations . Param Ċ import Ġcom . nb ot tar ini . as im ov . flag z . Enabled ByDefault Ċ import Ġcom . nb ot tar ini . as im ov . flag z . manager . metadata . Metadata Cache Test . Features .* Ċ import Ġcom . nb ot tar ini . as im ov . flag z . manager . metadata . Metadata Cache Test . Other Features . OTHER _ CONDITION AL _ FEATURE Ċ import Ġcom . nb ot tar ini . as im ov . flag z . manager . metadata . Metadata Cache Test . Other Features . OTHER _ FEATURE Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠMetadata Cache Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` has Ġmetadata Ġfor Ġall Ġregistered Ġenums `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmetadata Cache Ġ= ĠMetadata Cache ( listOf ( Features :: class . java , ĠOther Features :: class . java )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . get ( SIMPLE _ FEATURE )). isEqualTo ( SIMPLE _ FEATURE . metadata ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . get ( ENABLED _ BY _ DEFAULT _ FEATURE )). isEqualTo ( ENABLED _ BY _ DEFAULT _ FEATURE . metadata ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . get ( CONDITION AL _ FEATURE )). isEqualTo ( CONDITION AL _ FEATURE . metadata ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . get ( OTHER _ FEATURE )). isEqualTo ( OTHER _ FEATURE . metadata ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . get ( OTHER _ CONDITION AL _ FEATURE )). isEqualTo ( OTHER _ CONDITION AL _ FEATURE . metadata ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Features Ġreturns Ġall Ġfeatures Ġof Ġall Ġregistered Ġenums `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmetadata Cache Ġ= ĠMetadata Cache ( listOf ( Features :: class . java , ĠOther Features :: class . java )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( metadata Cache . all Features ()). contains Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS IMP LE _ FEATURE , ĠENABLE D _ BY _ DEFAULT _ FEATURE , ĠCONDITION AL _ FEATURE , ĠOTHER _ FEATURE , ĠOTHER _ CONDITION AL _ FEATURE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠFeatures : ĠFeature Ġ{ ĊĠĠĠĠĠĠĠ ĠS IMP LE _ FEATURE , ĊĊĠĠĠĠĠĠĠ Ġ@ Enabled ByDefault ĊĠĠĠĠĠĠĠ ĠENABLE D _ BY _ DEFAULT _ FEATURE , ĊĊĠĠĠĠĠĠĠ Ġ@ Conditional ( Users Strategy . ID , Ġ[ Param ( PARAM _ USERS , Ġ" alice , Ġbob ") ]) ĊĠĠĠĠĠĠĠ ĠCONDITION AL _ FEATURE , ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠOther Features : ĠFeature Ġ{ ĊĠĠĠĠĠĠĠ ĠOTHER _ FEATURE , ĊĊĠĠĠĠĠĠĠ Ġ@ Conditional ( Users Strategy . ID , Ġ[ Param ( PARAM _ USERS , Ġ" char lie ") ]) ĊĠĠĠĠĠĠĠ ĠOTHER _ CONDITION AL _ FEATURE , ĊĠĠĠ Ġ} Ċ } Ċ