package Ġmo e . tl aster . pre compose . navigation Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠRoute Builder Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Initial Route NotIn Routes () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With ( IllegalArgumentException :: class , Ġ" No Ġinitial Ġroute Ġtarget Ġf ot Ġthis Ġroute Ġgraph ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoute Builder ("/ home "). build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With ( IllegalArgumentException :: class , Ġ" No Ġinitial Ġroute Ġtarget Ġf ot Ġthis Ġroute Ġgraph ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoute Builder ("/ home "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Route ("/ detail ", Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Empty Route () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Ġ= ĠRoute Builder (" "). build () ĊĠĠĠĠĠĠĠ ĠassertTrue ( graph . routes . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Single Route () Ġ{ ĊĠĠĠĠĠĠĠ ĠRoute Builder ("/ home "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Route ("/ home ", Ġ" home ") ĊĠĠĠĠĠĠĠ Ġ}. build (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( routes . size Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroutes . first (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( it Ġis ĠTest Route ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("/ home ", Ġit . route ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" home ", Ġit . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Multiple Route With Same Route () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With ( IllegalArgumentException :: class , Ġ" Duplicate Ġroute Ġcan Ġnot Ġbe Ġapplied ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoute Builder ("/ home "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Route ("/ home ", Ġ" home ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Route ("/ home ", Ġ" home ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ