package Ġic f pc 2 0 2 1 Ċ Ċ import Ġic f pc 2 0 2 1 . model . Edge Ċ import Ġic f pc 2 0 2 1 . model . Figure Ċ import Ġic f pc 2 0 2 1 . model . Hole Ċ import Ġic f pc 2 0 2 1 . model . Vertex Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠS cor ing Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fits Comp let ely () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfigure Ġ= ĠFigure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 3 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġhole Ġ= ĠH ole ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex (- 1 . 0 , Ġ- 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 2 . 0 , Ġ- 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 2 . 0 , Ġ 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex (- 1 . 0 , Ġ 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Sc oring Utils . fits Within Hole ( figure , Ġhole )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Does nt Fit Comp let ely () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfigure Ġ= ĠFigure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex (- 1 . 0 , Ġ- 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 2 . 0 , Ġ- 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 2 . 0 , Ġ 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex (- 1 . 0 , Ġ 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 3 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġhole Ġ= ĠH ole ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( Sc oring Utils . fits Within Hole ( figure , Ġhole )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fits Prec ise ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfigure Ġ= ĠFigure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 3 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġhole Ġ= ĠH ole ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Sc oring Utils . fits Within Hole ( figure , Ġhole )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fits Line 0 1 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhole Ġ= ĠH ole ( listOf ( Vertex ( 2 8 . 0 , Ġ 0 . 0 ), ĠVertex ( 5 6 . 0 , Ġ 4 . 0 ), ĠVertex ( 0 . 0 , Ġ 4 . 0 ))) ĊĠĠĠĠĠĠĠ Ġval Ġfigure Ġ= ĠFigure ( listOf ( Vertex ( 8 . 0 , Ġ 3 6 . 0 ), ĠVertex ( 2 8 . 0 , Ġ 1 6 . 0 ), ĠVertex ( 2 8 . 0 , Ġ 1 6 . 0 ), ĠVertex ( 4 8 . 0 , Ġ- 4 . 0 )), ĊĠĠĠĠĠĠĠ ĠlistOf ( Edge ( 0 , Ġ 1 ), ĠEdge ( 0 , Ġ 2 ), ĠEdge ( 1 , Ġ 3 ), ĠEdge ( 2 , Ġ 3 ))) ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( Sc oring Utils . fits Within Hole ( figure , Ġhole )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Does nt Fit S light ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfigure Ġ= ĠFigure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdge ( 3 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġhole Ġ= ĠH ole ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 1 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVertex ( 0 . 0 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( Sc oring Utils . fits Within Hole ( figure , Ġhole )) ĊĠĠĠ Ġ} Ċ }