package Ġde . mic rom ata . mer lin . excel Ċ Ċ import Ġde . mic rom ata . mer lin . Definitions Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . apache . poi . ss . user model . Cell Type Ċ import Ġorg . apache . poi . x ss f . user model . XSS F Workbook Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Month Ċ Ċ private Ġval Ġlog Ġ= ĠKotlin Logging . logger Ġ{} Ċ Ċ internal Ġclass ĠExcel Sheet Row Test Ġ{ ĊĠĠĠ Ġclass ĠPerson ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbirthday Ġ= ĠLocalDate . of ( 1 9 7 0 , ĠMonth . J AN U ARY , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġzip Code Ġ= Ġ 1 2 3 4 ĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġ 2 7 . 7 8 ĊĠĠĠĠĠĠĠ Ġ// ĠFor Ġtesting Ġwith Ġnon Ġbacking Ġfield . ĊĠĠĠĠĠĠĠ Ġval Ġyear OfBirth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġbirthday . year ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġauto Fill Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġworkbook Ġ= ĠExcel Workbook ( XSS F Workbook ()) ĊĠĠĠĠĠĠĠ Ġval Ġexcel Sheet Ġ= Ġworkbook . create Or Get Sheet (" aut ofill ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . register Column (" Name ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . register Column (" Zip Ġcode ", Ġ" zip Code ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . register Column (" Birth day ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . register Column (" Year Ġof Ġbir gh "," year OfBirth ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . register Column (" Height ") ĊĠĠĠĠĠĠĠ Ġexcel Sheet . create Row (). fill Head Row () ĊĠĠĠĠĠĠĠ Ġvar Ġrow Ġ= Ġexcel Sheet . create Row () ĊĠĠĠĠĠĠĠ Ġrow . auto Fill From Object ( Person (" K ai ")) ĊĠĠĠĠĠĠĠ Ġrow Ġ= Ġexcel Sheet . create Row () ĊĠĠĠĠĠĠĠ Ġrow . auto Fill From Object ( Person (" P ete "), Ġ" birthday ") ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" K ai ", Ġexcel Sheet . getCell (" A 2 "). string CellValue ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( 1 2 3 4 , Ġexcel Sheet . getCell (" B 2 "). int CellValue ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( LocalDateTime . of ( 1 9 7 0 , ĠMonth . J AN U ARY , Ġ 1 , Ġ 0 , Ġ 0 ), Ġexcel Sheet . getCell (" C 2 "). getValue ()) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( 1 9 7 0 , Ġexcel Sheet . getCell (" D 2 "). int CellValue ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( 2 7 . 7 8 , Ġexcel Sheet . getCell (" E 2 "). getValue ()) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" P ete ", Ġexcel Sheet . getCell (" A 3 "). string CellValue ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ("", Ġexcel Sheet . getCell (" C 3 "). getValue ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġ 3 rd Ġrow Ġand Ġtest Ġprotection Ġof Ġcell Ġstyle : ĊĠĠĠĠĠĠĠ Ġrow Ġ= Ġexcel Sheet . create Row () ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġcell ĠC 4 Ġwith Ġown Ġcell Ġstyle Ġ( float ): ĊĠĠĠĠĠĠĠ Ġrow . row . create Cell ( 2 , ĠCell Type . NUMERIC ). cell Style Ġ= Ġworkbook . ensure CellStyle ( Excel Cell Standard Format . FLOAT ) ĊĠĠĠĠĠĠĠ Ġrow . auto Fill From Object ( Person (" H ur zel ")) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" H ur zel ", Ġexcel Sheet . getCell (" A 4 "). string CellValue ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 5 5 6 9 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexcel Sheet . getCell (" C 4 "). getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" date Ġis Ġexpected Ġas Ġfloat , Ġbecause Ġcell Ġstyle Ġshould Ġbe Ġprotected Ġand Ġnot Ġbe Ġset Ġas Ġdate ." ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( Definitions . OUTPUT _ DIR , Ġ" Row Auto Fill Test . xlsx ") ĊĠĠĠĠĠĠĠ Ġlog . info (" Writing Ġchecksum ĠExcel Ġfile : Ġ" Ġ+ Ġfile . getAbsolutePath ()) ĊĠĠĠĠĠĠĠ Ġworkbook . write ( File OutputStream ( file )) ĊĠĠĠ Ġ} Ċ } Ċ