package Ġcom . ro bo h orse . rob op oj ogener ator . parser Ċ Ċ import Ġcom . ro bo h orse . rob op oj ogener ator . models . Field Model Ċ import Ġcom . ro bo h orse . rob op oj ogener ator . models . Visibility Ċ import Ġcom . ro bo h orse . rob op oj ogener ator . properties . templates . Class Template Ċ import Ġcom . ro bo h orse . rob op oj ogener ator . utils . Class Generate Helper Ċ import Ġcom . ro bo h orse . rob op oj ogener ator . utils . Class Template Helper Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Inject Mock Ks Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġkotlin . test . Before Test Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ internal Ġclass ĠClass Template Helper Test Ġ{ ĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġclass Generate Helper : ĠClass Generate Helper ĊĊĠĠĠ Ġ@ Inject Mock Ks ĊĠĠĠ Ġlateinit Ġvar Ġclass Template Helper : ĠClass Template Helper ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun ĠsetUp () Ġ= ĠMock K Annotations . init ( this , Ġrelax Unit Fun Ġ= Ġtrue ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Setter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" String " ĊĠĠĠĠĠĠĠ Ġval Ġfield Upper Ġ= Ġ" Item " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . upper Case First ( field ) Ġ}. returns ( field Upper ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . lower Case First ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" public Ġvoid Ġset " Ġ+ Ġfield Upper Ġ+ Ġ"(" Ġ+ Ġtype Ġ+ Ġ" Ġ" Ġ+ Ġfield Ġ+ Ġ" ){ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ ĠClass Template . TAB Ġ+ Ġ" this ." Ġ+ Ġfield Ġ+ Ġ" Ġ= Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( target , Ġclass Template Helper . create Setter ( field , Ġtype )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Getter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" String " ĊĠĠĠĠĠĠĠ Ġval Ġfield Upper Ġ= Ġ" Item " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . upper Case First ( field ) Ġ}. returns ( field Upper ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . lower Case First ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" public Ġ" Ġ+ Ġtype Ġ+ Ġ" Ġget " Ġ+ Ġfield Upper Ġ+ Ġ" () {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ ĠClass Template . TAB Ġ+ Ġ" return Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( target , Ġclass Template Helper . create Getter ( field , Ġtype )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Getter Boolean () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" boolean " ĊĠĠĠĠĠĠĠ Ġval Ġfield Upper Ġ= Ġ" Item " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . upper Case First ( field ) Ġ}. returns ( field Upper ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . lower Case First ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" public Ġboolean Ġis " Ġ+ Ġfield Upper Ġ+ Ġ" () {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ ĠClass Template . TAB Ġ+ Ġ" return Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( target , Ġclass Template Helper . create Getter ( field , Ġtype )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Field () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" boolean " ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" private Ġ" Ġ+ Ġtype Ġ+ Ġ" Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Template Helper . create Field ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠField Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Type Ġ= Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Formatted Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠVisibility . PRIVATE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Field Generated () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" boolean " ĊĠĠĠĠĠĠĠ Ġval Ġannotation Ġ= Ġ"@ Json Field " ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE Ġ+ ĠClass Template . TAB Ġ+ Ġannotation Ġ+ ĠClass Template . NEW _ LINE Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . TAB Ġ+ Ġ" private Ġ" Ġ+ Ġtype Ġ+ Ġ" Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass Template . NEW _ LINE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Template Helper . create Field ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠField Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Type Ġ= Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Formatted Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġannotation Ġ= Ġannotation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠVisibility . PRIVATE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Field Without Visibility () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġ" item " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġ" boolean " ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġ( Class Template . TAB Ġ+ Ġtype Ġ+ Ġ" Ġ" Ġ+ Ġfield Ġ+ Ġ";" Ġ+ ĠClass Template . NEW _ LINE ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġclass Generate Helper . format Class Field ( field ) Ġ}. returns ( field ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Template Helper . create Field ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠField Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Type Ġ= Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Formatted Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠVisibility . NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ