package Ġcom . github . dar der ion . m und ane assignment pol ice . url Ċ Ċ import Ġcom . github . dar der ion . m und ane assignment pol ice . utils . URL Util Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . b ooleans . shouldBe False Ċ import Ġio . kot est . matchers . b ooleans . shouldBe True Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Object Ċ import Ġio . mock k . un mock k Object Ċ Ċ class ĠURL Util Tests : ĠString Spec ({ ĊĠĠĠ Ġbefore Test Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Object ( URL Util ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠURL Util . expand ( any ()) Ġ} Ġreturns Argument Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġafter Test Ġ{ ĊĠĠĠĠĠĠĠ Ġun mock k Object ( URL Util ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Function ĠgetUrl Ġshould Ġreturn Ġcorrect ĠURL Ġobject " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// google . com " ĊĠĠĠĠĠĠĠ ĠURL Util . getUrl ( url ). toString () ĠshouldBe Ġurl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Function ĠgetUrl Ġshould Ġthrow ĠIllegalArgumentException Ġif Ġurl Ġwas Ġincorrect " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" just String " ĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURL Util . getUrl ( url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" URL Util Ġshould Ġdistinguish Ġbetween Ġcommon Ġand Ġshort ened Ġurls " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// google . com " ĊĠĠĠĠĠĠĠ Ġval Ġshort ened Url Ġ= Ġ" https :// t . ly / FX 8 U " ĊĠĠĠĠĠĠĠ Ġval Ġexpanded Url Ġ= Ġ" https :// www . google . com /" ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠURL Util . expand ( url ) Ġ} Ġreturns Ġexpanded Url ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠURL Util . expand ( short ened Url ) Ġ} Ġreturns Ġexpanded Url ĊĊĠĠĠĠĠĠĠ ĠURL Util . is Short ened ( url ). shouldBe False () ĊĠĠĠĠĠĠĠ ĠURL Util . is Short ened ( short ened Url ). shouldBe True () ĊĠĠĠ Ġ} Ċ }) Ċ