package Ġnet . a quad c . properties Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Test Ċ Ċ class ĠBulk Test Ġ{ ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Map Value List () Ġ= Ġmap Value List ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Map Value List () Ġ= Ġmap Value List ( false ) ĊĠĠĠ Ġprivate Ġfun Ġmap Value List ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" hello ", ĠlistOf < Property < Nothing >> (). map Value List Ġ{ Ġ" hello " Ġ}. value ) ĊĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġsum Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). map Value List Ġ{ Ġit . fold ( 0 ) Ġ{ Ġa , Ġb Ġ-> Ġa Ġ+ Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġsum . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 0 . value Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġsum . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Fold Values () Ġ= Ġfold Values ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Fold Values () Ġ= Ġfold Values ( false ) ĊĠĠĠ Ġprivate Ġfun Ġfold Values ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġsum Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). fold Values ( 0 ) Ġ{ Ġa , Ġb Ġ-> Ġa Ġ+ Ġb Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġsum . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 0 . value Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġsum . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc First Value OrNull () Ġ= Ġfirst Value OrNull ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s First Value OrNull () Ġ= Ġfirst Value OrNull ( false ) ĊĠĠĠ Ġprivate Ġfun Ġfirst Value OrNull ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfirst OrNull Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). first Value OrNull Ġ{ Ġit Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġfirst OrNull . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 1 . value Ġ= Ġ- 3 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġfirst OrNull . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 2 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġfirst OrNull . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Filter Values () Ġ= Ġfilter Values ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Filter Values () Ġ= Ġfilter Values ( false ) ĊĠĠĠ Ġprivate Ġfun Ġfilter Values ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfiltered Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). filter Values Ġ{ Ġit Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 ), Ġfiltered . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 1 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 2 ), Ġfiltered . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 2 . value Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ ĠassertEquals ( emptyList < Int >(), Ġfiltered . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Contains Value () Ġ= Ġcontains Value ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Contains Value () Ġ= Ġcontains Value ( false ) ĊĠĠĠ Ġprivate Ġfun Ġcontains Value ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). contains Value ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( contains . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 1 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertTrue ( contains . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 2 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertFalse ( contains . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Contains All Values () Ġ= Ġcontains All Values ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Contains All Values () Ġ= Ġcontains All Values ( false ) ĊĠĠĠ Ġprivate Ġfun Ġcontains All Values ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). contains All Values ( listOf ( 0 , Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠassertTrue ( contains . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 1 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertTrue ( contains . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 2 . value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠassertFalse ( contains . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc All And Any Values () Ġ= Ġall And Any Values ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s All And Any Values () Ġ= Ġall And Any Values ( false ) ĊĠĠĠ Ġprivate Ġfun Ġall And Any Values ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġall Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). all Values Ġ{ Ġit Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġany Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). any Value Ġ{ Ġit Ġ> Ġ 0 Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( all . value ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( any . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 0 . value Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ ĠassertTrue ( all . value ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( any . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 2 . value Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ ĠassertFalse ( all . value ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( any . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 1 . value Ġ= Ġ- 2 ĊĠĠĠĠĠĠĠ ĠassertFalse ( all . value ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( any . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 0 . value Ġ= Ġ- 3 ĊĠĠĠĠĠĠĠ ĠassertFalse ( all . value ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( any . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġconc Subscription () Ġ= Ġsubscription ( true ) ĊĠĠĠ Ġ@ Test Ġfun Ġun s Subscription () Ġ= Ġsubscription ( false ) ĊĠĠĠ Ġprivate Ġfun Ġsubscription ( concurrent : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprop 0 Ġ= Ġproperty Of ( 0 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 1 Ġ= Ġproperty Of ( 1 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġprop 2 Ġ= Ġproperty Of ( 2 , Ġconcurrent ) ĊĠĠĠĠĠĠĠ Ġval Ġsum Ġ= ĠlistOf ( prop 0 , Ġprop 1 , Ġprop 2 ). fold Values ( 0 ) Ġ{ Ġacc , Ġvalue Ġ-> Ġacc Ġ+ Ġvalue Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġsum . value ) ĊĊĠĠĠĠĠĠĠ Ġprop 0 . value Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 3 , Ġsum . value ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ