/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠSoft Bank ĠRobot ics ĠEurope Ċ Ġ* ĠSee ĠCOPYING Ġfor Ġthe Ġlicense Ċ Ġ*/ Ċ package Ġcom . soft bank robot ics . sample . attention state checker . game Ċ Ċ import Ġcom . soft bank robot ics . sample . attention state checker . model . data . Direction Ċ import Ġcom . soft bank robot ics . sample . attention state checker . model . data . Direction .* Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠTests Ġfor Ġ[ Directions Matcher ]. Ċ Ġ*/ Ċ class ĠDirection s Matcher Test Ġ{ ĊĊĠĠĠ Ġ// ĠSystem Ġunder Ġtests . ĊĠĠĠ Ġprivate Ġval Ġmatcher Ġ= ĠDirection s Matcher () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmatches _ for _ UP () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Matches Only ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( UP , ĠUP _ LEFT , ĠUP _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmatches _ for _ DOWN () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Matches Only ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDOWN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( DOWN , ĠDOWN _ LEFT , ĠDOWN _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmatches _ for _ LEFT () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Matches Only ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( LEFT , ĠUP _ LEFT , ĠDOWN _ LEFT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmatches _ for _ RIGHT () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Matches Only ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRIGHT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( RIGHT , ĠUP _ RIGHT , ĠDOWN _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmatches _ g ives _ false _ for _ not _ card inal _ directions () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġall Directions Ġ= Ġvalues () ĊĠĠĠĠĠĠĠ Ġval Ġnot Card inal Directions Ġ= Ġall Directions . filter Ġ{ Ġit Ġ! in Ġset Of ( UP , ĠDOWN , ĠLEFT , ĠRIGHT ) Ġ} ĊĠĠĠĠĠĠĠ Ġnot Card inal Directions . forEach Ġ{ Ġnot Card inal Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Directions . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( matcher . matches ( not Card inal , Ġit )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAssert Ġthat Ġthe Ġspecified Ġ[ direction ] Ġmatches Ġonly Ġwith Ġthe Ġ[ matching ] Ġset Ġof Ġdirections . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġassert Matches Only ( direction : ĠDirection , Ġmatching : ĠSet < Direction >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnot Matching Ġ= Ġvalues (). filter Ġ{ Ġit Ġ! in Ġmatching Ġ} ĊĊĠĠĠĠĠĠĠ Ġmatching . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( matcher . matches ( direction , Ġit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnot Matching . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( matcher . matches ( direction , Ġit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }