package Ġio . github . j mat su . license . presentation Ċ Ċ import Ġio . github . j mat su . license . Factory . provide Artifact Ċ import Ġio . github . j mat su . license . Factory . provide License Key Ċ import Ġio . github . j mat su . license . Factory . provide Plain License Ċ import Ġio . github . j mat su . license . internal . License Classifier Ċ import Ġio . mock k . mock k Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠIns pector Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` inspect Ġartifacts `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinspector Ġ= ĠIns pector ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Definitions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" missing _ url "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" missing _ copy rig h th older "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Hold ers Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" missing _ license "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" un det em ined _ license "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key ( License Classifier . Pre defined Key . UN DE TERMIN ED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" success "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" success 2 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Hold ers Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key ( License Classifier . Pre defined Key . UN LICENSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" success 3 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Hold ers Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key ( License Classifier . Pre defined Key . UN LICENSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" success 4 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key ( License Classifier . Pre defined Key . UN LICENSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" success 5 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" all _ failure "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Hold ers Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplain License s Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġinspector . inspect Artifacts () ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" missing _ url " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . No Url , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" missing _ copy rig h th older " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . No Copyright Hold ers , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" missing _ license " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Inactive License , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" un det em ined _ license " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Inactive License , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" success " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" success 2 " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" success 3 " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" success 4 " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" success 5 " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Artifact Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key Ġ== Ġ" all _ failure " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArtifact Inspector . Result . No Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArtifact Inspector . Result . No Copyright Hold ers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArtifact Inspector . Result . Inactive License ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Set () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` inspect Ġlicenses `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinspector Ġ= ĠIns pector ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Definitions Ġ= Ġmock k (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplain License s Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" missing _ url "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" missing _ name "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" success "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" success 2 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" all _ failure "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġinspector . inspect License s () ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key . value Ġ== Ġ" missing _ url " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( License Inspector . Result . No Url , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key . value Ġ== Ġ" missing _ name " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( License Inspector . Result . No Name , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key . value Ġ== Ġ" success " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( License Inspector . Result . Success , Ġfirst ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( results . first Ġ{ Ġ( a , Ġ_) Ġ-> Ġa . key . value Ġ== Ġ" all _ failure " Ġ}. second ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLicense Inspector . Result . No Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLicense Inspector . Result . No Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Set () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` inspect Ġassociations `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinspector Ġ= ĠIns pector ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Definitions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" key 1 "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key (" defined 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Artifact ( key Ġ= Ġ" un det em ined _ license "). copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key (" defined 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide License Key (" not _ defined 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplain License s Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" defined 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" defined 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovide Plain License (" rest 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġinspector . inspect Associations () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( provide License Key (" not _ defined 1 ")), Ġresult . missing Keys ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( provide License Key (" rest 1 ")), Ġresult . rest Keys ) ĊĠĠĠ Ġ} Ċ } Ċ