package Ġca . software add . domain . resolvers Ċ Ċ import Ġca . software add . domain . commands . Command Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . test . context . Context Configuration Ċ import Ġorg . springframework . test . context . junit . jupiter . Spring Extension Ċ Ċ @ Extend With ( Spring Extension :: class ) Ċ @ Context Configuration ( classes Ġ= Ġ[ ĊĠĠĠ ĠCommand Type Resolver :: class Ċ ]) Ċ internal Ġclass ĠCommand Type Resolver Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġresolver : ĠCommand Type Resolver ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` command Ġtype Ġis Ġderived Ġfrom Ġthe Ġclass Ġname Ġwith Ġcommand Ġsuffix `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" simple ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresolver . command Type ( Simple Command :: class ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` command Ġtype Ġderived Ġfrom Ġthe Ġclass Ġname Ġwithout Ġcommand Ġsuffix `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" simple - pojo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresolver . command Type ( Simple Po jo :: class ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` command Ġtype Ġis Ġtaken Ġfrom Ġthe Ġannotation `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" annotated - command ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresolver . command Type ( Annotated Command :: class ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` command Ġtype Ġderived Ġfrom Ġthe Ġannotated Ġclass `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" annotated - no - type ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresolver . command Type ( Annotated No Type Command :: class ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSimple Command ĊĊĠĠĠ Ġclass ĠSimple Po jo ĊĊĠĠĠ Ġ@ Command (" annotated - command ") ĊĠĠĠ Ġclass ĠAnnot ated Command ĊĊĠĠĠ Ġ@ Command ĊĠĠĠ Ġclass ĠAnnot ated No Type Command Ċ Ċ } Ċ