package Ġru . kont ur . k infra . k fixture . resolver . strategy Ċ Ċ import Ġorg . junit . jupiter . api . extension . Extension Context Ċ import Ġorg . junit . jupiter . api . extension . Parameter Context Ċ import Ġru . kont ur . k infra . k fixture . api . Customizer Ċ import Ġru . kont ur . k infra . k fixture . context . Fixture Context Ċ import Ġru . kont ur . k infra . k fixture . exceptions . Fixture Generation Exception Ċ import Ġru . kont ur . k infra . k fixture . processor . impl . Fixture Processor Ċ import Ġru . kont ur . k infra . k fixture . resolver . Resolver Strategy Ċ import Ġru . kont ur . k infra . k fixture . misc . to K Type Ċ Ċ class ĠFix ture Resolver Strategy ( ĊĠĠĠ Ġprivate Ġval Ġfixture Processor : ĠFix ture Processor Ċ ) Ġ: ĠResolver Strategy Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcontext Ġ= ĠFix ture Context ( fixture Processor ) ĊĊĠĠĠ Ġoverride Ġfun Ġresolve ( ĊĠĠĠĠĠĠĠ Ġparameter Context : ĠParameter Context , ĊĠĠĠĠĠĠĠ Ġextension Context : ĠExtension Context , ĊĠĠĠĠĠĠĠ Ġcustomized : ĠList < Customizer < Any >> ĊĠĠĠ Ġ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġparameter Context . parameter . type ĊĠĠĠĠĠĠĠ Ġval Ġk Type Ġ= Ġparameter Context . parameter . parameter ized Type ĊĠĠĠĠĠĠĠ Ġval Ġgenerated Ġ= Ġfixture Processor . generate Param ( type . kotlin , Ġk Type . to K Type (), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠFix ture Generation Exception ( k Type . typeName , Ġparameter Context . parameter . name ) ĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġshould Ġcheck Ġthat Ġcustom izers Ġclass Ġmatch Ġwith Ġgenerated Ġparam ĊĠĠĠĠĠĠĠ Ġreturn Ġcustomized . fold Right ( generated ) Ġ{ Ġt , Ġacc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt . customize ( acc , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }