package Ġnl . jh vh . s udoku . format . box format Ċ Ċ /* ĠCopyright Ġ 2 0 2 0 ĠJan - H end rik Ġvan ĠHe us den ĊĊĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); ĊĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĊĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware ĊĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĊĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĊĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand ĊĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ import Ġio . mock k . every Ċ import Ġio . mock k . spy k Ċ import Ġnl . jh vh . s udoku . grid . model . Grid . Grid Builder Ċ import Ġnl . jh vh . s udoku . grid . model . cell . Cell Ċ import Ġnl . jh vh . s udoku . grid . model . cell . Cell Ref Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . text . Regex Option . DOT _ MATCH ES _ ALL Ċ Ċ /** ĠUnit Ġintegration Ġtest Ġfor Ġ[ Cell ] Ġformatting Ġ*/ Ċ class Ġ` Simple Cell Formatter Test Ġ- Ġformat ` Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* Ġ` A , ĠB , ĠC , ` Ġetc . Ġden ote Ġrows Ġ( top Ġrow Ġis Ġ` A ` Ġ=> Ġy Ġ= Ġ 0 ) ĊĠĠĠĠ Ġ* Ġ* Ġ` 1 , Ġ 2 , Ġ 3 , ` Ġetc . Ġden ote Ġcolumns Ġ( left Ġcolumn Ġis Ġ` 1 `, Ġ=> Ġx Ġ= Ġ 0 ) ĊĠĠĠĠ Ġ* Ġ* ĠSo ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġ* Ġ` A 1 ` Ġcorresponds Ġwith Ġ( x , Ġy ) Ġ= Ġ( 0 , Ġ 0 ), ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġ* Ġ` A 2 ` Ġcorresponds Ġwith Ġ( x , Ġy ) Ġ= Ġ( 1 , Ġ 0 ), ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġ* Ġ... ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġ* Ġ` B 5 ` Ġcorresponds Ġwith Ġ( x , Ġy ) Ġ= Ġ( 4 , Ġ 1 ) ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġ* Ġ... Ġetc . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠBlock Ġsize Ġdefault Ġ= Ġ 3 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġgrid 9 Ġ= ĠGrid Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" A 1 ", Ġ 7 ) Ġ// Ġx Ġ= Ġ 0 , Ġy Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" B 1 ", Ġ 4 ) Ġ// Ġx Ġ= Ġ 0 , Ġy Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" B 3 ", Ġ 2 ) Ġ// Ġx Ġ= Ġ 2 , Ġy Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" C 7 ", Ġ 8 ) Ġ// Ġx Ġ= Ġ 6 , Ġy Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" I 6 ", Ġ 3 ) Ġ// Ġx Ġ= Ġ 5 , Ġy Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġsubject Ġ= ĠCell Box Formatter ( Box Formatter Factory (). cell Value Formatter Instance ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġtop Ġrow Ġof Ġ 9 ĠCell s `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġfixed Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ķ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ âĸ º 7 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġno Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 1 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġnon - fixed Ġvalue ĊĠĠĠĠĠĠĠ Ġval Ġcell 2 _ 0 Ġ= Ġspy k ( grid 9 . find Cell ( 2 , Ġ 0 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 2 _ 0 . cell Value . value Ġ} Ġreturns Ġ 6 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 2 _ 0 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 2 _ 0 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 2 _ 0 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¦ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ Ġ 6 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 3 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¦ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 4 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġcell 5 _ 0 Ġ= Ġspy k ( grid 9 . find Cell ( 2 , Ġ 0 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 5 _ 0 . cell Value . value Ġ} Ġreturns Ġ 7 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 5 _ 0 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 5 _ 0 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 5 _ 0 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¦ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ Ġ 7 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 6 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¦ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 7 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ Ĺ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġof ĠCell s Ġ- Ġ 4 * 4 ĠGrid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĠBlock size Ġ 2 , Ġso Ġ` A .. D `, Ġ` 1 .. 4 `. ĠNothing Ġfixed Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġgrid 4 Ġ= ĠGrid Builder ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" C 2 ", Ġ 4 ) Ġ// Ġx Ġ= Ġ 1 , Ġy Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" B 3 ", Ġ 1 ) Ġ// Ġx Ġ= Ġ 2 , Ġy Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ// ĠTop Ġcells ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 0 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ķ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 1 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ ¦ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 2 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¦ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 3 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¤ âķĲâķĲ âķĲâķ Ĺ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠBottom Ġcells ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 0 , Ġ 3 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ļ âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġno Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 1 , Ġ 3 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ © """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 2 , Ġ 3 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ © âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 3 , Ġ 3 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ Ŀ """. tidy ()) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ// ĠLeft Ġcells ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 0 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 0 , Ġ 2 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ// ĠRight Ġcells ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 3 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 3 , Ġ 2 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠNon - grid border Ġcells ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 1 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ¬ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 1 , Ġ 2 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ¬ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ âĸ º 4 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 2 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ âĸ º 1 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¬ âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 4 . find Cell ( 2 , Ġ 2 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¬ âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġbottom Ġrow Ġof Ġ 9 ĠCell s `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ļ âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġno Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 1 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 2 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ © """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġnon - fixed Ġvalue ĊĠĠĠĠĠĠĠ Ġval Ġcell 3 _ 8 Ġ= Ġspy k ( grid 9 . find Cell ( 3 , Ġ 8 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 3 _ 8 . cell Value . value Ġ} Ġreturns Ġ 4 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 3 _ 8 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 3 _ 8 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 3 _ 8 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ Ġ 4 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ © âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 4 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 5 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ âĸ º 3 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ © """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 6 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ © âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 7 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ § """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 8 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ Ŀ """. tidy ()) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġleft Ġcolumn Ġof Ġ 9 ĠCell s `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* Ġ>> Ġtop Ġand Ġbottom Ġcells Ġof Ġthe Ġcolumn Ġalready Ġtested Ġin Ġother Ġmethods Ġ*/ ĊĠĠĠĠĠĠĠ Ġ// Ġfixed Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ âĸ º 4 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 2 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġnon - fixed Ġvalue ĊĠĠĠĠĠĠĠ Ġval Ġcell 0 _ 3 Ġ= Ġspy k ( grid 9 . find Cell ( 0 , Ġ 3 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 3 . cell Value . value Ġ} Ġreturns Ġ 6 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 3 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 3 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 0 _ 3 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ Ġ 6 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 4 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġcell 0 _ 5 Ġ= Ġspy k ( grid 9 . find Cell ( 0 , Ġ 5 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 5 . cell Value . value Ġ} Ġreturns Ġ 7 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 5 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 0 _ 5 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 0 _ 5 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ Ġ 7 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 6 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ł âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 0 , Ġ 7 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġright Ġcolumn Ġof Ġ 9 ĠCell s `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* Ġ>> Ġtop Ġand Ġbottom Ġcells Ġof Ġthe Ġcolumn Ġalready Ġtested Ġin Ġother Ġmethods Ġ*/ ĊĠĠĠĠĠĠĠ Ġ// Ġno Ġvalue ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 1 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġnon - fixed Ġvalue ĊĠĠĠĠĠĠĠ Ġval Ġcell 8 _ 2 Ġ= Ġspy k ( grid 9 . find Cell ( 8 , Ġ 2 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 2 . cell Value . value Ġ} Ġreturns Ġ 4 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 2 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 2 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 8 _ 2 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ Ġ 4 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 3 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 4 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġcell 8 _ 5 Ġ= Ġspy k ( grid 9 . find Cell ( 8 , Ġ 5 )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 5 . cell Value . value Ġ} Ġreturns Ġ 3 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 5 . cell Value . is Fixed Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcell 8 _ 5 . cell Value . grid Ġ} Ġreturns Ġgrid 9 ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell 8 _ 5 ). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ Ġ 3 Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 6 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ £ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 9 . find Cell ( 8 , Ġ 7 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ """. tidy ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat Ġnon - grid border ĠCell s Ġ- Ġ 9 * 9 ĠGrid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgrid Ġ= ĠGrid Builder (). build () Ġ// Ġno Ġvalues Ġfixed Ġor Ġset Ġyet ĊĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġtest Ġshould Ġbe Ġex haustive Ġfor Ġall Ġnon - grid border ĠCell s . ĊĠĠĠĠĠĠĠ Ġ// ĠThere Ġshould Ġbe Ġ 4 9 Ġof Ġthese Ġ( 7 * 7 , Ġas Ġwe Ġskip Ġthe Ġouter Ġborders Ġof Ġthe Ġ 9 * 9 Ġgrid ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Tested Cell Count Ġ= Ġ 4 9 ĊĠĠĠĠĠĠĠ Ġval Ġtested : ĠMutable Set < Pair < Int , ĠInt >> Ġ= ĠHashSet () ĊĊĠĠĠĠĠĠĠ Ġ// Ġno Ġblock Ġborders , Ġso Ġsingle - line Ġon Ġall Ġsides ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġleft Ġside , Ġso Ġdouble Ġline Ġat Ġleft Ġside ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġright Ġside , Ġso Ġdouble Ġline Ġat Ġright Ġside ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġtop Ġside , Ġso Ġdouble Ġline Ġat Ġtop ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġbottom Ġside , Ġso Ġdouble Ġline Ġat Ġbottom ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 1 , Ġ 4 , Ġ 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġtop Ġand Ġleft Ġside , Ġso Ġdouble Ġlines Ġthere ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¬ âķĲâķĲ âķĲâķ ª ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġtop Ġand Ġright Ġside , Ġso Ġdouble Ġlines Ġthere ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ¬ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġbottom Ġand Ġleft Ġside , Ġso Ġdouble Ġlines Ġthere ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 3 , Ġ 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ « âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ ĠĠ ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ¬ âķĲâķĲ âķĲâķ ª """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġblock Ġborder Ġon Ġbottom Ġand Ġright Ġside , Ġso Ġdouble Ġlines Ġthere ĊĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin ĠlistOf ( 2 , Ġ 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtested . add ( Pair ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Spy k Ġ= Ġspy k ( grid . find Cell ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( cell Spy k ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" Error Ġin Ġformat Ġfor Ġ( x , y ) Ġ= Ġ($ x , Ġ$ y )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ « ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ ĠĠ Ġâķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ ª âķĲâķĲ âķĲâķ ¬ """. tidy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( tested ). has Size ( expected Tested Cell Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġformat ĠCell s Ġof Ġ 1 6 * 1 6 ĠGrid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠRows Ġare ĠA .. P , Ġcolumns Ġare Ġ 1 .. 1 6 ĊĠĠĠĠĠĠĠ Ġval Ġgrid 1 6 Ġ= ĠGrid Builder ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFixed Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" P 1 6 ", Ġ 1 6 ) Ġ// Ġx Ġ= Ġ 1 5 , Ġy Ġ= Ġ 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" A 8 " Ġ, Ġ 1 4 ) Ġ// Ġx Ġ= ĠĠ 7 , Ġy Ġ= ĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix (" B 1 2 ", ĠĠ 1 ) Ġ// Ġx Ġ= Ġ 1 1 , Ġy Ġ= ĠĠ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fix ( Cell Ref ( 5 , Ġ 1 0 ), Ġ 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ// ĠNon - fixed Ġvalues ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . find Cell ( Ġ 0 , ĠĠ 0 ). cell Value . setValue ( 3 ) ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . find Cell ( 1 0 , Ġ 1 2 ). cell Value . setValue ( 8 ) ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . find Cell ( 1 1 , ĠĠ 9 ). cell Value . setValue ( 7 ) ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . find Cell ( 1 0 , Ġ 1 0 ). cell Value . setValue ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . find Cell ( 3 , ĠĠĠ 7 ). cell Value . setValue ( 1 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 1 6 . find Cell ( 0 , Ġ 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ķ âķĲâķĲ âķĲâķ ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķĳ Ġ 3 ĠâĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ Ł âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 1 6 . find Cell ( 1 0 , Ġ 1 0 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ Ġ 1 0 âĶĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢâĶ ¼ """. tidy ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . format ( grid 1 6 . find Cell ( 1 5 , Ġ 1 5 )). toString ()). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶ ¼ âĶĢâĶĢ âĶĢ âķ ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠâĶĤ âĸ º 1 6 âķĳ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġâķ § âķĲâķĲ âķĲâķ Ŀ """. tidy ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġthat Ġthe Ġfixed Ġindicator Ġand Ġvalue Ġare Ġcorrectly Ġparsed ĊĠĠĠĠĠĠĠ Ġval Ġexpected Fixed Values Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġvar Ġfound Fixed Values Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . cell List . filter Ġ{ Ġit . cell Value . is Fixed Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfound Fixed Values ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Ġ= Ġsubject . format ( it ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( formatted . matches ( Regex (""" [^ 0 - 9 ]+ ? âĸ º ${ it . cell Value . value } [^ 0 - 9 ]+ """, ĠDOT _ MATCH ES _ ALL )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Fixed Ġindicator Ġ[ âĸ º ] Ġand / or Ġcell Ġvalue Ġ[ ${ it . cell Value . value }] Ġnot Ġfound Ġin Ġformatted ĠCell Ġ( x =${ it . rowIndex }, Ġy =${ it . col Index })" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġformatted Ġvalue Ġ= Ġ\ n $ formatted " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( found Fixed Values ). isEqualTo ( expected Fixed Values ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Non Fixed Values Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġvar Ġfound Non Fixed Values Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġthat Ġthe Ġfixed Ġindicator Ġand Ġvalue Ġare Ġcorrectly Ġparsed ĊĠĠĠĠĠĠĠ Ġgrid 1 6 . cell List . filter Ġ{ it . cell Value . value Ġ!= Ġnull Ġ&& Ġ! it . cell Value . is Fixed Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfound Non Fixed Values ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Ġ= Ġsubject . format ( it ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( formatted . matches ( Regex (""" [^ 0 - 9 ]+ ? ${ it . cell Value . value } [^ 0 - 9 ]+ """, ĠDOT _ MATCH ES _ ALL )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cell Ġvalue Ġ[ ${ it . cell Value . value }] Ġnot Ġfound Ġin Ġformatted ĠCell Ġ( x =${ it . rowIndex }, Ġy =${ it . col Index })" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġformatted Ġvalue Ġ= Ġ\ n $ formatted " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( found Non Fixed Values ). isEqualTo ( expected Non Fixed Values ) ĊĠĠĠ Ġ} Ċ } Ċ