use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class PassivationTest method givenMultipleFailingPassivationWhenPassivatingExpectPassivationExceptionToBubbleUp.
@Test(expected = PassivationException.class)
public void givenMultipleFailingPassivationWhenPassivatingExpectPassivationExceptionToBubbleUp() throws Exception {
SingletonAssembler assembly = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
module.addServices(DataAccessService.class).withActivators(PassivationFailureActivator.class);
module.addServices(DataAccessService.class).withActivators(PassivationFailureActivator.class);
}
};
Iterable<ServiceReference<DataAccess>> iterable = assembly.module().findServices(DataAccess.class);
for (ServiceReference<DataAccess> service : iterable) {
assertTrue("Service should not be Active before accessed", !service.isActive());
assertTrue(service.get().data().activated);
assertTrue("Service should be Active after access.", service.isActive());
}
assembly.application().passivate();
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class ObjectBuilderFactoryTest method newBuilderForUnregisteredObject.
/**
* Tests that an object builder cannot be created for an unregistered object.
*
* @throws Exception expected
*/
@Test(expected = NoSuchObjectException.class)
public void newBuilderForUnregisteredObject() throws Exception {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
}
};
assembler.module().newObject(AnyObject.class);
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class ObjectBuilderFactoryTest method newBuilderForNullType.
/**
* Tests that an object 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().newObject(null);
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class ObjectBuilderFactoryTest method givenManyConstructorsWhenInstantiateThenChooseCorrectConstructor.
@Test
public void givenManyConstructorsWhenInstantiateThenChooseCorrectConstructor() throws ActivationException, AssemblyException {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
module.objects(ManyConstructorObject.class);
}
};
ManyConstructorObject object = assembler.module().newObject(ManyConstructorObject.class);
Assert.assertThat("ref is not null", object.anyObject, notNullValue());
object = assembler.module().newObject(ManyConstructorObject.class, new AnyObject());
Assert.assertThat("ref is not null", object.anyObject, notNullValue());
}
use of org.qi4j.bootstrap.SingletonAssembler in project qi4j-sdk by Qi4j.
the class ObjectBuilderFactoryTest method newObjectInstanceForNullType.
/**
* Tests that an object builder cannot be created for a 'null' type.
*
* @throws Exception expected
*/
@Test(expected = NullArgumentException.class)
public void newObjectInstanceForNullType() throws Exception {
SingletonAssembler assembler = new SingletonAssembler() {
public void assemble(ModuleAssembly module) throws AssemblyException {
}
};
assembler.module().newObject(null);
}
Aggregations