import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ class ĠA Map Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Num Visible All Seen With Di agon als () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Map Ġ= ĠA Map . parse (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ... #. ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ... # ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. # ....... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.. # L .... # ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... # .... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ# ........ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ... # ..... ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). split ("\ n ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġa Map . num Visible WithValue ( Pos ( 3 , Ġ 4 ), Ġ'#', ĠlistOf ('. '), Ġtrue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Num Visible All Seen No Di agon als () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Map Ġ= ĠA Map . parse (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ... #. ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ... # ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. # ....... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.. # L .... # ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... # .... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ.... ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ# ........ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ... # ..... ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). split ("\ n ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġa Map . num Visible WithValue ( Pos ( 3 , Ġ 4 ), Ġ'#', ĠlistOf ('. '), Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Num Visible Blocking Non Transparent () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Map Ġ= ĠA Map . parse (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ ........ ..... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. L . L .# .# .# .# . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ ........ ..... ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). split ("\ n ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġa Map . num Visible WithValue ( Pos ( 1 , Ġ 1 ), Ġ'#', ĠlistOf ('. '), Ġtrue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Num Visible No Visible () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Map Ġ= ĠA Map . parse (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ## . ## . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ# .# .# .# ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ## ... ## ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ... L ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ## ... ## ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ# .# .# .# ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ## . ## . ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). split ("\ n ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġa Map . num Visible WithValue ( Pos ( 3 , Ġ 3 ), Ġ'#', ĠlistOf ('. '), Ġtrue )) ĊĠĠĠ Ġ} Ċ }