package Ġio . github . cc j hr . collection Ċ Ċ import Ġio . github . cc j hr . collection . Contains Exactly Assertion Ad ject ive . InThe Same Order Ċ import Ġio . github . cc j hr . must Satisf y Ċ import Ġio . github . cc j hr . throwable . expects Exception Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ internal Ġclass ĠContains Exactly Kt Test Ġ{ ĊĊĠĠĠ Ġinternal Ġclass ĠContains Exactly Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` throws Ġexception Ġif Ġthe Ġobject Ġis Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj : ĠCollection < String >? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly Ġset Of (" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Object Ġunder Ġtest Ġis Ġnull .", Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġ- Ġcontaining Ġone Ġdiffer ing Ġelement Ġeach `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" other ", Ġ" words .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ List , Ġother , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġcollection Ġunder Ġtest , Ġbut Ġnot Ġin Ġexpected Ġelements : Ġ< [ of ]> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġexpected Ġelements , Ġbut Ġnot Ġin Ġcollection Ġunder Ġtest : Ġ< [ other ]> ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġ- Ġcollection Ġunder Ġtest Ġcontaining Ġa Ġdiffer ing Ġelement `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" test ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġtest , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġcollection Ġunder Ġtest , Ġbut Ġnot Ġin Ġexpected Ġelements : Ġ< [ test ]> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġexpected Ġelements , Ġbut Ġnot Ġin Ġcollection Ġunder Ġtest : Ġ< []> ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġ- Ġexpected Ġelements Ġcontaining Ġa Ġdiffer ing Ġelement `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" of ", Ġ" test ", Ġ" words .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ List , Ġof , Ġtest , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġcollection Ġunder Ġtest , Ġbut Ġnot Ġin Ġexpected Ġelements : Ġ< []> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġexpected Ġelements , Ġbut Ġnot Ġin Ġcollection Ġunder Ġtest : Ġ< [ test ]> ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġ- Ġboth Ġcontain Ġsame Ġelements , Ġbut Ġwith Ġduplicates Ġin Ġcollection Ġunder Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġcollection Ġunder Ġtest , Ġbut Ġnot Ġin Ġexpected Ġelements : Ġ< [ of ]> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġexpected Ġelements , Ġbut Ġnot Ġin Ġcollection Ġunder Ġtest : Ġ< []> ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġ- Ġboth Ġcontain Ġsame Ġelements , Ġbut Ġwith Ġduplicates Ġin Ġexpected Ġelements `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" of ", Ġ" of ", Ġ" words .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ List , Ġof , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġcollection Ġunder Ġtest , Ġbut Ġnot Ġin Ġexpected Ġelements : Ġ< []> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠElements Ġwhich Ġexist Ġin Ġexpected Ġelements , Ġbut Ġnot Ġin Ġcollection Ġunder Ġtest : Ġ< [ of ]> ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġsucceeds () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" of ", Ġ" words .", Ġ" List ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġclass ĠContains Exactly InThe Same Order Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` fails Ġfor Ġa Ġdifferent Ġorder `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġexpects Exception < AssertionError > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" of ", Ġ" words .", Ġ" List ") Ġand ĠIn The Same Order ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpect ing Ġ< [ List , Ġof , Ġwords . ]> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Ġcontain Ġ< [ of , Ġwords ., ĠList ]> ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiff Ġon Ġindex Ġ[ 0 ]: ĠExpect ing Ġ< List > Ġto Ġbe Ġ< of > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiff Ġon Ġindex Ġ[ 1 ]: ĠExpect ing Ġ< of > Ġto Ġbe Ġ< words . > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiff Ġon Ġindex Ġ[ 2 ]: ĠExpect ing Ġ< words . > Ġto Ġbe Ġ< List > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġresult . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġsucceeds () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf (" List ", Ġ" of ", Ġ" words .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġmust Satisf y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġcontains Exactly ĠlistOf (" List ", Ġ" of ", Ġ" words .") Ġand ĠIn The Same Order ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }