package Ġnet . bal d . model Ċ Ċ import Ġbal d . model . Model Verifier Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġnet . bal d . Binary Array Ċ import Ġnet . bal d . Container Ċ import Ġnet . bal d . vocab . BAL D Ċ import Ġorg . apache . jena . rdf . model . Model Factory Ċ import Ġorg . apache . jena . shared . Prefix Mapping Ċ import Ġorg . apache . jena . vocabulary . RDF Ċ import Ġorg . apache . jena . vocabulary . SK OS Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġjava . lang . IllegalArgumentException Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠModel Binary Array Builder Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcontainer Builder Ġ= Ġmock < Model Container Builder >() ĊĠĠĠ Ġprivate Ġval Ġcontainer F ct Ġ= Ġmock < Model Container Builder . Factory > Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġfor Parent ( any ()) Ġ} Ġdo Return Ġcontainer Builder ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġmodel Ġ= ĠModel Factory . create Default Model () ĊĠĠĠ Ġprivate Ġval Ġbuilder Ġ= ĠModel Binary Array Builder . Factory ( container F ct ). for Model ( model ) ĊĠĠĠ Ġprivate Ġval Ġroot Ġ= Ġmock < Container >() ĊĠĠĠ Ġprivate Ġval Ġprefix Ġ= ĠPrefix Mapping . Factory . create () ĊĠĠĠĠĠĠĠ Ġ. set Ns Prefix (" bal d ", ĠB AL D . prefix ) ĊĠĠĠĠĠĠĠ Ġ. set Ns Prefix (" sk os ", ĠSK OS . uri ) ĊĠĠĠ Ġprivate Ġval Ġba Ġ= Ġmock < Binary Array > Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġuri Ġ} Ġdo Return Ġ" http :// test . binary - array - ld . net / example " ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġthis . root Ġ} Ġdo Return Ġroot ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġprefix Mapping Ġ} Ġdo Return Ġprefix ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ adds File Container () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ ĠModel Verifier ( model ). resource (" http :// test . binary - array - ld . net / example ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatement ( RDF . type , ĠB AL D . Container ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ adds Root Container () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ Ġverify ( container F ct ). for Parent ( model . getResource (" http :// test . binary - array - ld . net / example ")) ĊĠĠĠĠĠĠĠ Ġverify ( container Builder ). add Container ( root ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ adds Prefix Mapping () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ ĠModel Verifier ( model ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefix (" bal d ", ĠB AL D . prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefix (" sk os ", ĠSK OS . uri ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ prefix Mapping With Invalid Char _ throws Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġprefix . set Ns Prefix (" bal d - eg ", Ġ" http :// example . org / prefix /") ĊĠĠĠĠĠĠĠ Ġval Ġi ae Ġ= ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals (" Unable Ġto Ġadd Ġprefix Ġmapping Ġbal d - eg Ġto Ġmodel : ĠPrefix Ġmust Ġmatch Ġpattern Ġ[ A - Za - z _ ]+ .", Ġi ae . message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ prefix Mapping With Invalid Scheme _ throws Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġprefix . set Ns Prefix (" eg ", Ġ" file :/// example / prefix /") ĊĠĠĠĠĠĠĠ Ġval Ġi ae Ġ= ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals (" Unable Ġto Ġadd Ġprefix Ġmapping Ġeg Ġto Ġmodel : ĠURI Ġmust Ġhave ĠHTTP Ġor ĠHTTPS Ġscheme .", Ġi ae . message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Binary Array _ prefix Mapping Without Trailing Char _ throws Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġprefix . set Ns Prefix (" eg ", Ġ" http :// example . org / prefix ") ĊĠĠĠĠĠĠĠ Ġval Ġi ae Ġ= ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Binary Array ( ba ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals (" Unable Ġto Ġadd Ġprefix Ġmapping Ġeg Ġto Ġmodel : ĠURI Ġmust Ġend Ġwith Ġ/ Ġor Ġ# .", Ġi ae . message ) ĊĠĠĠ Ġ} Ċ }