/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 1 9 ĠHERE ĠEurope ĠB . V . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* ĠLicense - Filename : ĠLICENSE Ċ Ġ*/ Ċ Ċ package Ġcom . here . ort . model Ċ Ċ import Ġio . kot lint est . shouldBe Ċ import Ġio . kot lint est . specs . String Spec Ċ Ċ class ĠProject Analyzer Result Test Ġ: ĠString Spec ({ ĊĠĠĠ Ġ" collect Errors Ġshould Ġfind Ġall Ġerrors " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror 1 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 1 ", Ġmessage Ġ= Ġ" error - 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 2 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 2 ", Ġmessage Ġ= Ġ" error - 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 3 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 3 ", Ġmessage Ġ= Ġ" error - 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 4 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 4 ", Ġmessage Ġ= Ġ" error - 4 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 5 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 5 ", Ġmessage Ġ= Ġ" error - 5 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 6 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 6 ", Ġmessage Ġ= Ġ" error - 6 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 7 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 7 ", Ġmessage Ġ= Ġ" error - 7 ") ĊĠĠĠĠĠĠĠ Ġval Ġerror 8 Ġ= ĠO rt Issue ( source Ġ= Ġ" source - 8 ", Ġmessage Ġ= Ġ" error - 8 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠProject Analyzer Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject Ġ= ĠProject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠIdentifier (" type ", Ġ" namespace ", Ġ" name ", Ġ" version "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition FilePath Ġ= Ġ" definition FilePath ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeclared License s Ġ= Ġsorted Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Ġ= ĠV cs Info . EMPTY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhomepage Url Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscopes Ġ= Ġsorted Set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScope ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" scope Ġ 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġsorted Set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" type 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" name 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" version 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġsorted Set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" type 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" name 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" version 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġsorted Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= ĠlistOf ( error 1 , Ġerror 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= ĠlistOf ( error 3 , Ġerror 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" type 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" name 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" version 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġsorted Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= ĠlistOf ( error 5 , Ġerror 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackages Ġ= Ġsorted Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= ĠlistOf ( error 7 , Ġerror 8 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= Ġresult . collect Errors () ĊĠĠĠĠĠĠĠ Ġerrors . size ĠshouldBe Ġ 4 ĊĠĠĠĠĠĠĠ Ġerrors [ Identifier (" type : namespace : name : version ")] ĠshouldBe ĠlistOf ( error 7 , Ġerror 8 ) ĊĠĠĠĠĠĠĠ Ġerrors [ Identifier (" type 1 : namespace 1 : name 1 : version 1 ")] ĠshouldBe ĠlistOf ( error 3 , Ġerror 4 ) ĊĠĠĠĠĠĠĠ Ġerrors [ Identifier (" type 2 : namespace 2 : name 2 : version 2 ")] ĠshouldBe ĠlistOf ( error 1 , Ġerror 2 ) ĊĠĠĠĠĠĠĠ Ġerrors [ Identifier (" type 3 : namespace 3 : name 3 : version 3 ")] ĠshouldBe ĠlistOf ( error 5 , Ġerror 6 ) ĊĠĠĠ Ġ} Ċ }) Ċ