/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠB os ch . IO ĠGmbH Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// 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 Ġorg . oss review toolkit . model Ċ Ċ import Ġio . kot est . core . spec . style . Word Spec Ċ import Ġio . kot est . matchers . collections . be Empty Ċ import Ġio . kot est . matchers . collections . contain Ċ import Ġio . kot est . matchers . collections . contain All Ċ import Ġio . kot est . matchers . collections . contain Exactly Ċ import Ġio . kot est . matchers . collections . contain Exactly In Any Order Ċ import Ġio . kot est . matchers . collections . have Size Ċ import Ġio . kot est . matchers . collections . should Contain Exactly In Any Order Ċ import Ġio . kot est . matchers . sequences . be Empty Ġas Ġbe Empty Sequence Ċ import Ġio . kot est . matchers . sequences . contain Exactly Ġas Ġcontain Sequence Exactly Ċ import Ġio . kot est . matchers . should Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Ċ import Ġio . kot est . matchers . should Not Be Ċ Ċ import Ġjava . io . File Ċ import Ġjava . time . Instant Ċ Ċ import Ġorg . oss review toolkit . utils . test . contain Exactly Ġas Ġcontain Exactly Pairs Ċ import Ġorg . oss review toolkit . utils . test . read Or t Result Ċ import Ġorg . oss review toolkit . utils . test . should Not BeNull Ċ Ċ /** Ċ Ġ* ĠA Ġbase Ġclass Ġfor Ġtests Ġof Ġconcrete Ġ[ Dependency Navigator ] Ġimplementations . Ċ Ġ* Ċ Ġ* ĠThe Ġclass Ġis Ġconfigured Ġwith Ġan ĠOR T Ġresult Ġfile Ġthat Ġcontains Ġthe Ġexpected Ġresults Ġin Ġa Ġspecific Ġformat . ĠIt Ġthen Ċ Ġ* Ġruns Ġtests Ġon Ġthe Ġ[ Dependency Navigator ] Ġof Ġthis Ġresult Ġand Ġchecks Ġwhether Ġit Ġreturns Ġthe Ġcorrect Ġdependency Ċ Ġ* Ġinformation . Ċ Ġ*/ Ċ abstract Ġclass ĠAbstract Dependency Navigator Test Ġ: ĠWord Spec () Ġ{ ĊĠĠĠ Ġ/** ĠThe Ġname Ġof Ġthe Ġresult Ġfile Ġto Ġbe Ġused Ġby Ġall Ġtest Ġcases . Ġ*/ ĊĠĠĠ Ġprotected Ġabstract Ġval Ġresult FileName : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġname Ġof Ġthe Ġfile Ġwith Ġa Ġresult Ġthat Ġcontains Ġissues . ĠThis Ġis Ġused Ġby Ġtests Ġof Ġthe Ġcollect Issues () Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġabstract Ġval Ġresult With Issues FileName : ĠString ĊĊĠĠĠ Ġprivate Ġval Ġtest Result Ġby Ġlazy Ġ{ Ġread Or t Result ( result FileName ) Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtest Project Ġby Ġlazy Ġ{ Ġtest Result . getProject ( PROJECT _ ID ) !! Ġ} ĊĊĠĠĠ Ġprotected Ġval Ġnavigator Ġby Ġlazy Ġ{ Ġtest Result . dependency Navigator Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ" scope Names " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġscope Ġnames Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . scope Names ( test Project ) Ġshould Ġcontain Exactly In Any Order (" compile ", Ġ" test ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" direct Dependencies " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdirect Ġdependencies Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . direct Dependencies ( test Project , Ġ" test "). map Ġ{ Ġit . id Ġ} Ġshould Ġcontain Sequence Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scal ac heck : scal ac heck _ 2 . 1 2 : 1 . 1 3 . 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scalatest : scalatest _ 2 . 1 2 : 3 . 0 . 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġan Ġempty Ġsequence Ġfor Ġan Ġunknown Ġscope " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . direct Dependencies ( test Project , Ġ" unknown Scope ") Ġshould Ġbe Empty Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" scope Dependencies " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġa Ġmap Ġwith Ġscopes Ġand Ġtheir Ġdependencies Ġfor Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Dependencies Ġ= Ġnavigator . scope Dependencies ( test Project ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies . keys Ġshould Ġcontain Exactly In Any Order (" compile ", Ġ" test ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies [" compile "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġhave Size ( 1 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġcontain All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - reflect : 2 . 1 2 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - library : 2 . 1 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies [" test "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġhave Size ( 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġcontain All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scal ac heck : scal ac heck _ 2 . 1 2 : 1 . 1 3 . 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scal actic : scal actic _ 2 . 1 2 : 3 . 0 . 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġa Ġmap Ġwith Ġscopes Ġand Ġtheir Ġdirect Ġdependencies Ġby Ġusing Ġmax Depth Ġ= Ġ 1 " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Dependencies Ġ= Ġnavigator . scope Dependencies ( test Project , Ġmax Depth Ġ= Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies [" compile "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġhave Size ( 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Not Ġcontain ( Identifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġa Ġmap Ġwith Ġscopes Ġand Ġtheir Ġdependencies Ġup Ġto Ġa Ġgiven Ġmax Depth " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Dependencies Ġ= Ġnavigator . scope Dependencies ( test Project , Ġmax Depth Ġ= Ġ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies [" compile "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġhave Size ( 1 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Not Ġcontain ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang . modules : scala - java 8 - compat _ 2 . 1 2 : 0 . 8 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġa Ġmap Ġwith Ġscopes Ġand Ġtheir Ġdependencies Ġwith Ġfilter Ġcriteria " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatched Ids Ġ= Ġmutable Set Of < Identifier >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Dependencies Ġ= Ġnavigator . scope Dependencies ( test Project ) Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatched Ids Ġ+= Ġnode . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . id . namespace Ġ== Ġ" com . types afe . akka " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies [" compile "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġcontain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatched Ids Ġshould Ġhave Size ( 2 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" dependencies For Scope " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġan Ġempty Ġset Ġfor Ġan Ġunknown Ġscope " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . dependencies For Scope ( test Project , Ġ" unknown Scope ") Ġshould Ġbe Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdependencies Ġof Ġa Ġspecific Ġscope " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompile Dependencies Ġ= Ġnavigator . dependencies For Scope ( test Project , Ġ" compile ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Dependencies Ġshould Ġhave Size ( 1 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Dependencies Ġshould Ġcontain All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - reflect : 2 . 1 2 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - library : 2 . 1 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdependencies Ġof Ġa Ġspecific Ġscope Ġup Ġto Ġa Ġgiven Ġmax Depth " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompile Dependencies Ġ= Ġnavigator . dependencies For Scope ( test Project , Ġ" compile ", Ġmax Depth Ġ= Ġ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Dependencies Ġshould Ġhave Size ( 1 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Dependencies Ġshould Not Ġcontain ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang . modules : scala - java 8 - compat _ 2 . 1 2 : 0 . 8 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdependencies Ġof Ġa Ġspecific Ġscope Ġwith Ġfilter Ġcriteria " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġakka Dependencies Ġ= Ġnavigator . dependencies For Scope ( test Project , Ġ" compile ") Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . id . namespace . contains (" akka ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġakka Dependencies . should Contain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" package Dependencies " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdependencies Ġof Ġan Ġexisting Ġpackage Ġin Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg Id Ġ= ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . package Dependencies ( test Project , Ġpkg Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġcontain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : ssl - config - core _ 2 . 1 2 : 0 . 2 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang . modules : scala - java 8 - compat _ 2 . 1 2 : 0 . 8 . 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . reactiv est ream s : reactive - streams : 1 . 0 . 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġan Ġempty Ġset Ġfor Ġthe Ġdependencies Ġof Ġa Ġnon - existing Ġpackage " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg Id Ġ= ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 7 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . package Dependencies ( test Project , Ġpkg Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġbe Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" support Ġa Ġmax Depth Ġfilter " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg Id Ġ= ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . package Dependencies ( test Project , Ġpkg Id , Ġmax Depth Ġ= Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġcontain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : ssl - config - core _ 2 . 1 2 : 0 . 2 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . reactiv est ream s : reactive - streams : 1 . 0 . 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" support Ġa ĠDependency Matcher " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg Id Ġ= ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . package Dependencies ( test Project , Ġpkg Id ) Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . id . namespace . startsWith (" com . types afe ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġcontain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : ssl - config - core _ 2 . 1 2 : 0 . 2 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" get Short est Paths " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġshortest Ġpaths Ġfor Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaths Ġ= Ġnavigator . get Short est Paths ( test Project ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaths . keys Ġshould Ġhave Size ( 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaths [" compile "] Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġshould Ġcontain Exactly Pairs ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : ch . qos . log back : log back - classic : 1 . 2 . 3 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : ch . qos . log back : log back - core : 1 . 2 . 3 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : ch . qos . log back : log back - classic : 1 . 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . fasterxml . jackson . core : jackson - annotations : 2 . 8 . 0 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : net . logstash . log back : logstash - log back - encoder : 4 . 1 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . fasterxml . jackson . core : jackson - databind : 2 . 8 . 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . fasterxml . jackson . core : jackson - core : 2 . 8 . 9 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : net . logstash . log back : logstash - log back - encoder : 4 . 1 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . fasterxml . jackson . core : jackson - databind : 2 . 8 . 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . fasterxml . jackson . core : jackson - databind : 2 . 8 . 9 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : net . logstash . log back : logstash - log back - encoder : 4 . 1 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : config : 1 . 3 . 1 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . scala - logging : scala - logging _ 2 . 1 2 : 3 . 7 . 2 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : ssl - config - core _ 2 . 1 2 : 0 . 2 . 2 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : net . logstash . log back : logstash - log back - encoder : 4 . 1 1 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - library : 2 . 1 2 . 3 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - reflect : 2 . 1 2 . 2 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . scala - logging : scala - logging _ 2 . 1 2 : 3 . 7 . 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang . modules : scala - java 8 - compat _ 2 . 1 2 : 0 . 8 . 0 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - actor _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . reactiv est ream s : reactive - streams : 1 . 0 . 1 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . slf 4 j : j cl - over - slf 4 j : 1 . 7 . 2 5 ") Ġto Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . slf 4 j : slf 4 j - api : 1 . 7 . 2 5 ") Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : ch . qos . log back : log back - classic : 1 . 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" project Dependencies " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġdependencies Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Dependencies Ġ= Ġnavigator . scope Dependencies ( test Project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Dependencies Ġ= Ġnavigator . project Dependencies ( test Project ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope Dependencies . keys Ġshould Ġcontain Exactly In Any Order (" compile ", Ġ" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Dependencies Ġ= Ġscope Dependencies . getValue (" compile ") Ġ+ Ġscope Dependencies . getValue (" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Dependencies Ġshould Ġcontain Exactly In Any Order ( expected Dependencies ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" support Ġfiltering Ġthe Ġdependencies Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . project Dependencies ( test Project , Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . link age Ġ!= ĠPackage Link age . PROJECT _ DYNAMIC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġcontain Exactly In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : ch . qos . log back : log back - classic : 1 . 2 . 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe : config : 1 . 3 . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . akka : akka - stream _ 2 . 1 2 : 2 . 5 . 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : com . types afe . scala - logging : scala - logging _ 2 . 1 2 : 3 . 7 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : net . logstash . log back : logstash - log back - encoder : 4 . 1 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang : scala - library : 2 . 1 2 . 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . slf 4 j : j cl - over - slf 4 j : 1 . 7 . 2 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scal ac heck : scal ac heck _ 2 . 1 2 : 1 . 1 3 . 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scalatest : scalatest _ 2 . 1 2 : 3 . 0 . 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġno Ġdependencies Ġfor Ġa Ġmax Depth Ġof Ġ 0 " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Ġ= Ġnavigator . project Dependencies ( test Project , Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġshould Ġbe Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" collect Sub Projects " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" find Ġall Ġthe Ġsub Ġprojects Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠprojectId Ġ= ĠIdentifier (" SB T : com . pb ass iner : multi 1 _ 2 . 1 2 : 0 . 1 - SNAPSHOT ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Result . getProject ( projectId ) Ġshould Not BeNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Project Ids Ġ= Ġnavigator . collect Sub Projects ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Project Ids Ġshould Ġcontain Exactly ( PROJECT _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" dependency Tree Depth " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" calculate Ġthe Ġdependency Ġtree Ġdepth Ġfor Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . dependency Tree Depth ( test Project , Ġ" compile ") ĠshouldBe Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . dependency Tree Depth ( test Project , Ġ" test ") ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġ 0 Ġif Ġthe Ġscope Ġcannot Ġbe Ġresolved " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . dependency Tree Depth ( test Project , Ġ" unknown Scope ") ĠshouldBe Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" project Issues " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġthe Ġissues Ġof Ġa Ġproject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġort Result With Issues Ġ= ĠFile ( result With Issues FileName ). readValue < Or t Result >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġort Result With Issues . analyzer ?. result ?. projects . or Empty (). first () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnavigator Ġ= Ġort Result With Issues . dependency Navigator ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġissues Ġ= Ġnavigator . project Issues ( project ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissues Ġshould Ġorg . oss review toolkit . utils . test . contain Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scala - lang . modules : scala - java 8 - compat _ 2 . 1 2 : 0 . 8 . 0 ") Ġto Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO rt Issue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstant . EPOCH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Gradle ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test Ġissue Ġ 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIdentifier (" Maven : org . scal actic : scal actic _ 2 . 1 2 : 3 . 0 . 4 ") Ġto Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO rt Issue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstant . EPOCH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Gradle ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Test Ġissue Ġ 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Dependency Node . equals " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" be Ġref lex ive " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġnavigator . direct Dependencies ( test Project , Ġ" compile "). iterator (). next () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode ĠshouldBe Ġnode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġfalse Ġfor Ġa Ġdifferent Ġnode " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġnavigator . direct Dependencies ( test Project , Ġ" compile "). iterator () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode 1 Ġ= Ġiterator . next (). get Stable Reference () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode 2 Ġ= Ġiterator . next () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode 1 Ġshould Not Be Ġnode 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġtrue Ġthe Ġsame Ġnode " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode 1 Ġ= Ġnavigator . direct Dependencies ( test Project , Ġ" compile "). iterator (). next () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Stable Reference () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode 2 Ġ= Ġnavigator . direct Dependencies ( test Project , Ġ" compile "). iterator (). next () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Stable Reference () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode 1 ĠshouldBe Ġnode 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode 1 . hashCode () ĠshouldBe Ġnode 2 . hashCode () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" return Ġfalse Ġfor Ġanother Ġobject " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġnavigator . direct Dependencies ( test Project , Ġ" compile "). iterator (). next () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġshould Not Be Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** ĠIdentifier Ġof Ġthe Ġproject Ġused Ġby Ġthe Ġtests . Ġ*/ Ċ private Ġval ĠPROJECT _ ID Ġ= ĠIdentifier (" SB T : com . pb ass iner : common _ 2 . 1 2 : 0 . 1 - SNAPSHOT ") Ċ