package Ġcom . xr pn . immutable . fk set test Ċ Ċ import Ġcom . xr pn . im api . IM Set Ċ import Ġcom . xr pn . im api . Int KeyType Ċ import Ġcom . xr pn . im api . Str KeyType Ċ import Ġcom . xr pn . immutable .* Ċ import Ġcom . xr pn . immutable . FK Set . Companion . to IM K Set Ċ import Ġio . kot est . core . spec . style . Fun Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . int Ċ import Ġio . kot est . property . check All Ċ import Ġio . kot est . xr pn . f set Ċ import Ġio . kot est . xr pn . fs set Ċ Ċ private Ġval Ġstr KK Set Of None Ġ= ĠFK Set . ofs (* empty ArrayOf Str ) Ċ private Ġval Ġstr KK Set Of One Ġ= ĠFK Set . ofs (" 1 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of One 3 Ġ= ĠFK Set . ofs (" 3 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of Two Ġ= ĠFK Set . ofs (" 1 ", Ġ" 2 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of Two Of st 1 Ġ= ĠFK Set . ofs (" 2 ", Ġ" 3 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of Two Of st 2 Ġ= ĠFK Set . ofs (" 3 ", Ġ" 4 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of Three Ġ= ĠFK Set . ofs (" 1 ", Ġ" 2 ", Ġ" 3 "). nex < String >() !! Ċ private Ġval Ġstr KK Set Of Four Ġ= ĠFK Set . ofs (" 1 ", Ġ" 2 ", Ġ" 3 ", Ġ" 4 "). nex < String >() !! Ċ private Ġval Ġstr KK Set M aver ick Ġ= ĠFK Set . ofs (" 1 1 3 ", Ġ" 9 7 "). nex < String >() !! Ċ Ċ private Ġval Ġstr I Set Of None Ġ= ĠFK Set . of i (* empty ArrayOf Str ) Ċ private Ġval Ġstr I Set Of One Ġ= ĠFK Set . of i (" 1 "). ne () !! Ċ private Ġval Ġstr I Set Of One 3 Ġ= ĠFK Set . of i (" 3 "). ne () !! Ċ private Ġval Ġstr I Set Of Two Ġ= ĠFK Set . of i (" 1 ", Ġ" 2 "). ne () !! Ċ private Ġval Ġstr I Set Of Two Of st 1 Ġ= ĠFK Set . of i (" 2 ", Ġ" 3 "). ne () !! Ċ private Ġval Ġstr I Set Of Two Of st 2 Ġ= ĠFK Set . of i (" 3 ", Ġ" 4 "). ne () !! Ċ private Ġval Ġstr I Set Of Three Ġ= ĠFK Set . of i (" 1 ", Ġ" 2 ", Ġ" 3 "). ne () !! Ċ private Ġval Ġstr I Set Of Four Ġ= ĠFK Set . of i (" 1 ", Ġ" 2 ", Ġ" 3 ", Ġ" 4 "). ne () !! Ċ private Ġval Ġstr I Set M aver ick Ġ= ĠFK Set . of i (" 1 1 3 ", Ġ" 9 7 "). ne () !! Ċ Ċ class ĠFK Set Filtering Str V Test Ġ: ĠFun Spec ({ ĊĊĠĠĠ Ġval Ġrepe ats Ġ= Ġ 5 0 ĊĠĠĠĠĊĠĠĠ Ġbefore Test Ġ{} ĊĊĠĠĠ Ġtest (" f contains ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f contains (" 1 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains (" 2 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains (" 2 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains (" 3 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains (" 2 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains (" 3 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains (" 4 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġstr I Set Of None . f contains (" 1 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains (" 2 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains (" 2 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains (" 3 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains (" 0 ") ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains (" 1 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains (" 2 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains (" 3 ") ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains (" 4 ") ĠshouldBe Ġfalse ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f contains Any ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f contains Any ( str KK Set Of None ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains Any ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains Any ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains Any ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f contains Any ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains Any ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains Any ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains Any ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . f contains Any ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . f contains Any ( str I Set Of None ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains Any ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains Any ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains Any ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f contains Any ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains Any ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains Any ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains Any ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . f contains Any ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . f contains Any ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . f contains Any ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fd rop Item ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fd rop Item (" 0 "). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop Item (" 0 "). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop Item (" 1 "). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop Item (" 0 "). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop Item (" 1 "). equals ( FK Set . ofs (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop Item (" 2 "). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop Item (" 3 "). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 0 "). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 1 "). equals ( FK Set . ofs (" 2 ", Ġ" 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 2 "). equals ( FK Set . ofs (" 1 ", Ġ" 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 3 "). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 4 "). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fd rop Item (" 0 "). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop Item (" 0 "). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop Item (" 1 "). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop Item (" 0 "). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop Item (" 1 "). equals ( FK Set . of i (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop Item (" 2 "). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop Item (" 3 "). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 0 "). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 1 "). equals ( FK Set . of i (" 2 ", Ġ" 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 2 "). equals ( FK Set . of i (" 1 ", Ġ" 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 3 "). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 4 "). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop Item (" 3 "). equal ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop Item (" 3 "). equal ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fd rop All ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fd rop All ( str KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop All ( str KK Set Of None ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop All ( str KK Set Of One ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop All ( str KK Set Of Two ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop All ( str KK Set M aver ick ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop All ( str KK Set Of None ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop All ( str KK Set Of One ). equals ( FK Set . ofs (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop All ( str KK Set Of Four ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fd rop All ( str KK Set M aver ick ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop All ( str KK Set Of None ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop All ( str KK Set Of Four ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop All ( str KK Set M aver ick ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fd rop All ( str I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop All ( str I Set Of None ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop All ( str I Set Of One ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop All ( str I Set Of Two ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop All ( str I Set M aver ick ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop All ( str I Set Of None ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop All ( str I Set Of One ). equals ( FK Set . of i (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop All ( str I Set Of Four ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fd rop All ( str I Set M aver ick ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop All ( str I Set Of None ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop All ( str I Set Of Four ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop All ( str I Set M aver ick ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop All ( str KK Set Of Four ). equal ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop All ( str I Set Of Four ). equal ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fd rop All Ġcoverage ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġl lt Ġ= ĠF RB Tree . of ( TK V Entry . of kv ( 1 L , Ġ 1 L ), ĠT KV Entry . of kv ( 3 L , Ġ 3 L ), ĠT KV Entry . of kv ( 2 L , Ġ 2 L )) ĊĠĠĠĠĠĠĠ Ġval Ġaux ll Ġ= Ġof FK KS NotEmpty ( ll t Ġas ĠFR BT K Node ) ĊĠĠĠĠĠĠĠ Ġval Ġ ilt Ġ= ĠF RB Tree . of ( TK V Entry . of kv ( 1 , Ġ 1 L ), ĠT KV Entry . of kv ( 2 , Ġ 2 L ), ĠT KV Entry . of kv ( 4 , Ġ 4 L )) ĊĠĠĠĠĠĠĠ Ġval Ġaux il Ġ= Ġof FI KS NotEmpty ( ilt Ġas ĠFR BT IN ode ) ĊĠĠĠĠĠĠĠ Ġval Ġaut 1 Ġ= Ġaux ll . fd rop All ( aux il ) ĊĠĠĠĠĠĠĠ Ġaut 1 . f size () ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġaut 1 . equals ( of FK KS NotEmpty ( FR B Tree . of ( TK V Entry . of kv ( 3 L , Ġ 3 L )) Ġas ĠFR BT K Node )) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġaut 2 Ġ= Ġaux il . fd rop All ( aux ll ) ĊĠĠĠĠĠĠĠ Ġaut 2 . f size () ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġaut 2 . equals ( of FI KS NotEmpty ( FR B Tree . of ( TK V Entry . of kv ( 4 , Ġ 4 L )) Ġas ĠFR BT IN ode )) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fd rop When ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fd rop When Ġ{ Ġfalse Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fd rop When Ġ{ Ġtrue Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop When Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fd rop When Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop When Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str KK Set Of Two . f map Ġ{ Ġ( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fd rop When Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fd rop When Ġ{ Ġfalse Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fd rop When Ġ{ Ġtrue Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop When Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fd rop When Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop When Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str I Set Of Two . f map Ġ{ Ġ( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fd rop When Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f empty ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f empty () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . f empty () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . f empty () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . f empty () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġ=== Ġstr I Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" ff ilter ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ilter Ġ{ Ġfalse Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ilter Ġ{ Ġtrue Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ilter Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ilter Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ilter Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ilter Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str KK Set Of Two . f map Ġ{ Ġ( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ilter Ġ{ Ġfalse Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ilter Ġ{ Ġtrue Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ilter Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ilter Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ilter Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ilter Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str I Set Of Two . f map Ġ{ Ġ( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġtest (" ff ilter Not ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ilter Not Ġ{ Ġfalse Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ilter Not Ġ{ Ġtrue Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ilter Not Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ilter Not Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ilter Not Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str KK Set Of Two . f map Ġ{( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ilter Not Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ilter Not Ġ{ Ġfalse Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ilter Not Ġ{ Ġtrue Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ilter Not Ġ{ Ġit Ġ== Ġ" 1 " Ġ}. equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ilter Not Ġ{ Ġit Ġ!= Ġ" 1 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ilter Not Ġ{ Ġit Ġ< Ġ" 2 " Ġ}. equals ( str I Set Of Two . f map Ġ{ Ġ( it [ 0 ]. code + 1 ). to Char (). toString () Ġ}) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ilter Not Ġ{ Ġit Ġ>= Ġ" 2 " Ġ}. equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" ff ind ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ind Ġ{ Ġfalse Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . ff ind Ġ{ Ġtrue Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ind Ġ{ Ġit Ġ== Ġ" 1 " Ġ} ĠshouldBe Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . ff ind Ġ{ Ġit Ġ!= Ġ" 1 " Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ind Ġ{ Ġit Ġ< Ġ" 2 " Ġ} ĠshouldBe Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . ff ind Ġ{ Ġit Ġ>= Ġ" 2 " Ġ} ĠshouldBe Ġnull ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ind Ġ{ Ġfalse Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . ff ind Ġ{ Ġtrue Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ind Ġ{ Ġit Ġ== Ġ" 1 " Ġ} ĠshouldBe Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . ff ind Ġ{ Ġit Ġ!= Ġ" 1 " Ġ} ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ind Ġ{ Ġit Ġ< Ġ" 2 " Ġ} ĠshouldBe Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . ff ind Ġ{ Ġit Ġ>= Ġ" 2 " Ġ} ĠshouldBe Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fis Subset Of ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fis Subset Of ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fis Subset Of ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fis Subset Of ( str KK Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fis Subset Of ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fis Subset Of ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set M aver ick . fis Subset Of ( str KK Set Of One ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of One . fis Subset Of ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fis Subset Of ( str KK Set Of One ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str KK Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set M aver ick . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str KK Set Of Two ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fis Subset Of ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fis Subset Of ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fis Subset Of ( str I Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fis Subset Of ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fis Subset Of ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set M aver ick . fis Subset Of ( str I Set Of One ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of One . fis Subset Of ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fis Subset Of ( str I Set Of One ) ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str I Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set M aver ick . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str I Set Of Two ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str KK Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str KK Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set M aver ick . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Three . fis Subset Of ( str KK Set Of Two ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr I Set Of Two . fis Subset Of ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str I Set Of None ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str I Set M aver ick ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set M aver ick . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Three . fis Subset Of ( str I Set Of Two ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġstr KK Set Of Two . fis Subset Of ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" fp ick ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . fp ick () ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġcheck All ( repe ats , ĠA rb . f set ( Ar b . int (), 2 0 .. 1 0 0 )) Ġ{ Ġf ii : ĠFK Set < Int , ĠInt > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf si : ĠIM Set < Int > Ġ= Ġf ii . to IM K Set ( Str KeyType ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin Ġf ii ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf si . f contains ( item ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount ĠshouldBe Ġf ii . f size () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf si . f contains ( f ii . fp ick () !! ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstr I Set Of None . fp ick () ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġcheck All ( repe ats , ĠA rb . fs set ( Ar b . int (), 2 0 .. 1 0 0 )) Ġ{ Ġf si : ĠFK Set < String , ĠInt > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf ii : ĠIM Set < Int > Ġ= Ġf si . to IM K Set ( Int KeyType ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin Ġf si ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ii . f contains ( item ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount ĠshouldBe Ġf si . f size () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf ii . f contains ( fs i . fp ick () !! ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f AND ") Ġ{ ĠĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f AND ( str KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġand Ġstr KK Set Of One ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġand Ġstr KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġand Ġstr KK Set Of One ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġand Ġstr KK Set Of Three ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand Ġstr KK Set Of One ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġand Ġstr KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġand Ġstr KK Set Of Two ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġand Ġstr KK Set Of Three ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand Ġstr KK Set Of Two ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand Ġstr KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand Ġstr KK Set Of Three ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġand Ġstr KK Set Of Three ). equals ( FK Set . ofs (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand ĠFK Set . ofs (" 2 ")). equals ( FK Set . ofs (" 2 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġand Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġand Ġstr I Set Of One ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġand Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġand Ġstr I Set Of One ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġand Ġstr I Set Of Three ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand Ġstr I Set Of One ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġand Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġand Ġstr I Set Of Two ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġand Ġstr I Set Of Three ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand Ġstr I Set Of Two ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand Ġstr I Set Of Three ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġand Ġstr I Set Of Three ). equals ( FK Set . ofs (" 2 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand ĠFK Set . ofs (" 2 ")). equals ( FK Set . of i (" 2 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġand Ġstr KK Set Of Two ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġand Ġstr I Set Of Two ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f NOT ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f NOT ( str KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġnot Ġstr KK Set Of One ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġnot Ġstr KK Set Of None ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġnot Ġstr KK Set Of One ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġnot Ġstr KK Set Of Three ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot Ġstr KK Set Of One ). equals ( FK Set . ofs (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġnot Ġstr KK Set Of None ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġnot Ġstr KK Set Of Two ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġnot Ġstr KK Set Of Three ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot Ġstr KK Set Of Two ). equals ( str KK Set Of One 3 ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot Ġstr KK Set Of None ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot Ġstr KK Set Of Three ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġnot Ġstr KK Set Of Three ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot ĠFK Set . ofs (" 2 ")). equals ( FK Set . ofs (" 1 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġnot Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġnot Ġstr I Set Of One ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġnot Ġstr I Set Of None ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġnot Ġstr I Set Of One ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġnot Ġstr I Set Of Three ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot Ġstr I Set Of One ). equals ( FK Set . of i (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġnot Ġstr I Set Of None ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġnot Ġstr I Set Of Two ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġnot Ġstr I Set Of Three ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot Ġstr I Set Of Two ). equals ( str I Set Of One 3 ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot Ġstr I Set Of None ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot Ġstr I Set Of Three ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġnot Ġstr I Set Of Three ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot ĠFK Set . ofs (" 2 ")). equals ( FK Set . of i (" 1 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġnot Ġstr KK Set Of Two ). equals ( str I Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġnot Ġstr I Set Of Two ). equals ( str KK Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f OR ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f OR ( str KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġor Ġstr KK Set Of None ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġor Ġstr KK Set Of One ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġor Ġstr KK Set Of Two ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġor Ġstr KK Set Of None ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġor Ġstr KK Set Of Two ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġor Ġstr KK Set Of Two Of st 1 ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Of st 1 Ġor Ġstr KK Set Of Two ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġor Ġstr KK Set Of Two Of st 2 ). equals ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Of st 2 Ġor Ġstr KK Set Of Two ). equals ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġor Ġstr KK Set Of None ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġor Ġstr KK Set Of Three ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġor Ġstr KK Set Of Three ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġor ĠFK Set . ofs (" 2 ")). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġor Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġor Ġstr I Set Of None ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġor Ġstr I Set Of One ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġor Ġstr I Set Of Two ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġor Ġstr I Set Of None ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġor Ġstr I Set Of Two ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġor Ġstr I Set Of Two Of st 1 ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Of st 1 Ġor Ġstr I Set Of Two ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġor Ġstr I Set Of Two Of st 2 ). equals ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Of st 2 Ġor Ġstr I Set Of Two ). equals ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġor Ġstr I Set Of None ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġor Ġstr I Set Of Three ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . of i (" 2 ") Ġor Ġstr I Set Of Three ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġor ĠFK Set . ofs (" 2 ")). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Of st 1 Ġor Ġstr KK Set Of Two ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġor Ġstr KK Set Of Two Of st 2 ). equals ( str I Set Of Four ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Of st 1 Ġor Ġstr I Set Of Two ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġor Ġstr I Set Of Two Of st 2 ). equals ( str KK Set Of Four ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest (" f XOR ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstr KK Set Of None . f XOR ( str KK Set Of None ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of None Ġxor Ġstr KK Set Of One ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġxor Ġstr KK Set Of None ). equals ( str KK Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġxor Ġstr KK Set Of One ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of One Ġxor Ġstr KK Set Of Three ). equals ( FK Set . ofs (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġxor Ġstr KK Set Of One ). equals ( FK Set . ofs (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġxor Ġstr KK Set Of None ). equals ( str KK Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġxor Ġstr KK Set Of Two ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġxor Ġstr KK Set Of Three ). equals ( str KK Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġxor Ġstr KK Set Of Two ). equals ( str KK Set Of One 3 ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġxor Ġstr KK Set Of None ). equals ( str KK Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġxor Ġstr KK Set Of Three ). equals ( str KK Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġor Ġstr KK Set Of Three ). equals ( FK Set . ofs (" 1 ", Ġ" 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Three Ġxor ĠFK Set . ofs (" 2 ")). equals ( FK Set . ofs (" 1 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġxor Ġstr I Set Of None ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of None Ġxor Ġstr I Set Of One ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġxor Ġstr I Set Of None ). equals ( str I Set Of One ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġxor Ġstr I Set Of One ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of One Ġxor Ġstr I Set Of Three ). equals ( FK Set . of i (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġxor Ġstr I Set Of One ). equals ( FK Set . of i (" 2 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġxor Ġstr I Set Of None ). equals ( str I Set Of Two ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġxor Ġstr I Set Of Two ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġxor Ġstr I Set Of Three ). equals ( str I Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġxor Ġstr I Set Of Two ). equals ( str I Set Of One 3 ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġxor Ġstr I Set Of None ). equals ( str I Set Of Three ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġxor Ġstr I Set Of Three ). equals ( str I Set Of None ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( FK Set . ofs (" 2 ") Ġor Ġstr I Set Of Three ). equals ( FK Set . ofs (" 1 "," 3 ")) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str I Set Of Three Ġxor ĠFK Set . ofs (" 2 ")). equals ( FK Set . of i (" 1 "," 3 ")) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġmixed Ġmode ĊĊĠĠĠĠĠĠĠ Ġ( str I Set Of Two Ġxor Ġstr KK Set Of Three ). equals ( str I Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( str KK Set Of Two Ġxor Ġstr I Set Of Three ). equals ( str KK Set Of One 3 ) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} Ċ }) Ċ