package Ġcom . golden berg . data . structure . tables . default Impl Ċ Ċ import Ġcom . golden berg . data . structure . tables . Abstract Row Filter Test Ċ import Ġcom . golden berg . data . structure . tables . Row Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠDefault Row Filter Test Ġ: ĠAbstract Row Filter Test () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfactory : ĠDefault Table Factory ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfilter : ĠDefault Row Filter ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . factory Ġ= ĠDefault Table Factory . instance ĊĠĠĠĠĠĠĠ Ġthis . filter Ġ= ĠDefault Row Filter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Add ĠRow ĠPredicate ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpredicate Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġfactory . createTable (" id ") ĊĠĠĠĠĠĠĠ Ġval Ġrow 1 Ġ= Ġfactory . create Row ( table , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġrow 2 Ġ= Ġfactory . create Row ( table , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġpredicate . invoke ( row 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġpredicate . invoke ( row 2 ) Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Add ĠRow ĠPredicate ĠBy ĠRow ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( Default Row ( Default Table (" some "), Ġ 5 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġfactory . createTable (" id ") ĊĠĠĠĠĠĠĠ Ġval Ġrow 1 Ġ= Ġfactory . create Row ( table , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġrow 2 Ġ= Ġfactory . create Row ( table , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġfilter . getRow Pred icates Array ()[ 0 ]. invoke ( row 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġfilter . getRow Pred icates Array ()[ 0 ]. invoke ( row 2 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Remove ĠRow ĠPredicate ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpredicate Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate ) ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĊĠĠĠĠĠĠĠ Ġfilter . remove Row Predicate ( predicate ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Remove ĠRow ĠPredicate ĠBy ĠRow ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Row Ġ= ĠDefault Row ( Default Table (" some "), Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( default Row ) ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĊĠĠĠĠĠĠĠ Ġfilter . remove Row Predicate ( default Row ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Is ĠRow ĠPredicate ĠEx ists ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpredicate Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġfilter . is Row Pred icates Exists () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Get ĠRow ĠPred icates ĠArray ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpredicate Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpredicate 1 Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 6 Ġ} ĊĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate ) ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠarrayOf ( predicate , Ġpredicate 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertArrayEquals ( arr , Ġfilter . getRow Pred icates Array ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġoverride Ġfun Ġ` Get ĠRow ĠPred icates ĠCollection ĠTest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpredicate Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpredicate 1 Ġ= Ġ{ Ġrow : ĠRow Ġ-> Ġrow . getIndex () Ġ== Ġ 6 Ġ} ĊĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate ) ĊĠĠĠĠĠĠĠ Ġfilter . add Row Predicate ( predicate 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf ( predicate , Ġpredicate 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( list , Ġfilter . getRow Pred icates Collection ()) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ