package Ġedu . stanford . cf ull er . image an alys ist ools . metric Ċ Ċ import Ġedu . stanford . cf ull er . image an alys ist ools . image . Image Coordinate Ċ import Ġedu . stanford . cf ull er . image an alys ist ools . image . Image Factory Ċ import Ġedu . stanford . cf ull er . image an alys ist ools . image . Image Set Ċ import Ġedu . stanford . cf ull er . image an alys ist ools . meta . parameters . Parameter Dictionary Ċ import Ġio . kot lint est . specs . Flat Spec Ċ Ċ class ĠArea And Per imeter Metric Test Ġ: ĠFlat Spec () Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġic Ġ= ĠImage Coordinate . create Coord XYZ CT ( 8 , 8 , 1 , 1 , 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġim Ġ= ĠImage Factory . create Writable ( ic , Ġ 0 . 0 f ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġup Ġa Ġ 2 x 2 Ġregion , Ġupper Ġleft ĊĠĠĠĠĠĠĠ Ġ( 1 .. 2 ). forEach Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( 1 .. 2 ). forEach Ġ{ Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġic . set Coord XYZ CT ( x , y , 0 , 0 , 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġim . setValue ( ic , Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġup Ġa Ġ 3 x 3 Ġregion , Ġlower Ġright ĊĠĠĠĠĠĠĠ Ġ( 4 .. 6 ). forEach Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( 4 .. 6 ). forEach Ġ{ Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġic . set Coord XYZ CT ( x , y , 0 , 0 , 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġim . setValue ( ic , Ġ 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġm Ġ= ĠArea And Per imeter Metric () ĊĠĠĠĠĠĠĠ Ġval Ġim Set Ġ= ĠImage Set ( Parameter Dictionary . empty Dictionary ()) ĊĠĠĠĠĠĠĠ Ġim Set . add Image With Image And Name ( im , Ġ" test Ġimage ") ĊĠĠĠĠĠĠĠ Ġval Ġq Ġ= Ġm . quant ify ( im , Ġim Set ) ĊĊĠĠĠĠĠĠĠ Ġ" The ĠArea And Per imeter Metric " Ġshould Ġ" correct ly Ġcalculate Ġthe Ġarea Ġand Ġper imeter Ġof Ġa Ġ 2 x 2 Ġregion " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmeas Ġ= Ġq . getAll Measure ments For Region ( 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeas . forEach Ġ{ Ġm Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . measurement Name Ġ== Ġ" per imeter ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . measurement ĠshouldBe Ġ 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . measurement Name Ġ== Ġ" area ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . measurement ĠshouldBe Ġ 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" The ĠArea And Per imeter Metric " Ġshould Ġ" correct ly Ġcalculate Ġthe Ġarea Ġand Ġper imeter Ġof Ġa Ġ 3 x 3 Ġregion " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmeas Ġ= Ġq . getAll Measure ments For Region ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeas . forEach Ġ{ Ġm Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . measurement Name Ġ== Ġ" per imeter ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . measurement ĠshouldBe Ġ 8 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . measurement Name Ġ== Ġ" area ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . measurement ĠshouldBe Ġ 9 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }