use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class TransientBuilderFactoryTest method testClassAsTransient.
@Test(expected = ConstraintViolationException.class)
public void testClassAsTransient() throws ActivationException, AssemblyException {
SingletonAssembler assembler = new SingletonAssembler() {
@Override
public void assemble(ModuleAssembly module) throws AssemblyException {
module.transients(AnyTransient.class);
}
};
AnyTransient anyTransient = assembler.module().newTransient(AnyTransient.class);
assertThat(anyTransient.hello("me"), new IsEqual<String>("Hello ME from Module 1"));
assertThat(anyTransient.hello("World"), new IsEqual<String>("Hello WORLD from ME"));
anyTransient.hello("Universe");
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class TransientBuilderFactoryTest method newBuilderForUnregisteredComposite.
/**
* Tests that an transient builder cannot be created for an unregistered object.
*
* @throws Exception expected
*/
@Test(expected = NoSuchTransientException.class)
public void newBuilderForUnregisteredComposite() throws Exception {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
}
};
assembler.module().newTransientBuilder(AnyComposite.class);
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class TransientBuilderFactoryTest method newBuilderForNullType.
/**
* Tests that an transient builder cannot be created for a 'null' type.
*
* @throws Exception expected
*/
@Test(expected = NullArgumentException.class)
public void newBuilderForNullType() throws Exception {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
}
};
assembler.module().newTransientBuilder(null);
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class TransientBuilderFactoryTest method newBuilderForRegisteredComposite.
/**
* Tests that an object builder can be created for an registered object.
*/
@Test
public void newBuilderForRegisteredComposite() throws ActivationException, AssemblyException {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
module.transients(AnyComposite.class);
}
};
assembler.module().newTransientBuilder(AnyComposite.class);
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class ServiceSelectorImporterTest method givenManyServicesAndFilterWhenInjectServiceThenGetSpecifiedOne.
@Test
public void givenManyServicesAndFilterWhenInjectServiceThenGetSpecifiedOne() throws ActivationException, AssemblyException {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
module.objects(ServiceConsumer.class);
module.importedServices(TestService.class).importedBy(SERVICE_SELECTOR).setMetaInfo(ServiceQualifier.withId(TestServiceComposite2.class.getSimpleName()));
ModuleAssembly module2 = module.layer().module("Other module");
module2.services(TestServiceComposite2.class, TestServiceComposite2.class).visibleIn(Visibility.layer);
}
};
TestService service = assembler.module().newObject(ServiceConsumer.class).getService();
assertThat("service is specified one", service.test(), equalTo("mixin2"));
}
Aggregations