package Ġcom . se an sh ub in . kotlin . try me . domain . parser Ċ Ċ import Ġcom . se an sh ub in . kotlin . try me . domain . cursor . Indexed Cursor Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠValue Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheck Match Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġvalue Matcher : ĠMatcher < String > Ġ= ĠValue (" foo - rule ", Ġ" foo ") ĊĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= ĠlistOf (" foo "). iterator () ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠIndexed Cursor . create ( iterator ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠSuccess (" foo - rule ", ĠLeaf (" foo - rule ", Ġ" foo "), Ġcursor . next ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġvalue Matcher . check Match ( cursor ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheck Match Failure () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġvalue Matcher : ĠMatcher < String > Ġ= ĠValue (" foo - rule ", Ġ" foo ") ĊĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= ĠlistOf (" bar "). iterator () ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠIndexed Cursor . create ( iterator ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġvalue Matcher . check Match ( cursor ). toString () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertEquals ("[ 1 ] ĠExpected Ġ' foo '", Ġactual ) ĊĠĠĠ Ġ} Ċ } Ċ