Linker { public static RuntimeRepository createRepository(List<? extends BareBundle> bundles, LinkerOptions linkerOptions) throws LinkerException { return LinkerImpl.getInstance().createRepository(bundles, linkerOptions); } private  Linker(); static RuntimeAnnotatedExecutionTrace createAnnotatedExecutionTrace(BareExecutionTrace absoluteTrace,
            BareModule bareModule, List<? extends BareOverride> overrides, RuntimeRepository repository,
            LinkerOptions linkerOptions); static RuntimeRepository createRepository(List<? extends BareBundle> bundles, LinkerOptions linkerOptions); static RuntimeSerializationRoot marshalToTree(Object object,
            Collection<? extends RuntimeSerializationDeclaration> declarations);  }
@Test public void simpleRepositoryTest() throws LinkerException { BareBundle bareSimpleRepository = Examples.simpleBundle(); RepositoryImpl simpleRepository = linker.createRepository(Collections.singletonList(bareSimpleRepository), linkerOptions); Assert.assertTrue(simpleRepository.getState() == AbstractFreezable.State.PRECOMPUTED); }
@Test(dependsOnMethods = "simpleRepositoryTest") public void dependentRepositoryTest() throws LinkerException { BareBundle bareFibRepository = Examples.fibonacciBundle(); try { linker.createRepository(Collections.singletonList(bareFibRepository), linkerOptions); Assert.fail(); } catch (NotFoundException exception) { Assert.assertTrue(exception.getMessage().contains(BinarySum.class.getPackage().getName())); } fibRepository = linker.createRepository(Arrays.asList(bareFibRepository, Examples.simpleBundle()), linkerOptions); }