package Ġu y . ko hes ive . k over t . vertx . sample Ċ Ċ import Ġu y . ko hes ive . in jekt . api .* Ċ Ċ interface ĠPeople Service Ġ{ ĊĠĠĠ Ġpublic Ġfun Ġfind Person ById ( id : ĠInt ): ĠPerson ? ĊĠĠĠ Ġpublic Ġfun Ġfind Pers ons ByName ( name : ĠString ): ĠList < Person > ĊĠĠĠ Ġpublic Ġfun Ġfind People By Company ( company : ĠString ): ĠList < Person > ĊĠĠĠ Ġpublic Ġfun Ġupsert Person ( new Person : ĠPerson ): ĠUnit Ċ } Ċ Ċ data Ġclass ĠPerson ( val Ġid : ĠInt , Ġval Ġname : ĠString , Ġval Ġage : ĠInt , Ġval Ġcompany : ĠCompany ? Ġ= Ġnull ) Ċ Ċ class ĠMock People Service : ĠPeople Service Ġ{ ĊĠĠĠ Ġcompanion Ġobject ĠIn jek tables : ĠIn jekt Module Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠIn jekt Registrar . register Inject ables () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Singleton Factory < People Service > Ġ{ ĠMock People Service () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġpublic Ġfun Ġfind Person ById ( id : ĠInt ): ĠPerson ? Ġ= Ġmock Data _ people ById . get ( id ) ĊĠĠĠ Ġoverride Ġpublic Ġfun Ġfind Pers ons ByName ( name : ĠString ): ĠList < Person > Ġ= Ġmock Data _ people ById . values . filter Ġ{ Ġit . name . equals ( name , Ġignore Case Ġ= Ġtrue ) Ġ} ĊĠĠĠ Ġoverride Ġpublic Ġfun Ġfind People By Company ( company : ĠString ): ĠList < Person > Ġ= Ġmock Data _ people ById . values . filter Ġ{ Ġit . company ?. name ?. equals ( company , Ġignore Case Ġ= Ġtrue ) Ġ?: Ġfalse Ġ} ĊĠĠĠ Ġoverride Ġpublic Ġfun Ġupsert Person ( new Person : ĠPerson ): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġignoring Ġthe Ġcompany Ġpart , Ġthis Ġis Ġa Ġsil ly Ġdemo Ġafter all ĊĠĠĠĠĠĠĠ Ġmock Data _ people ById . put ( new Person . id , Ġnew Person ) ĊĠĠĠ Ġ} Ċ } Ċ