@Test
public void transientsAmbiguousDeclaration()
throws ActivationException, AssemblyException
{
Module module = new SingletonAssembler()
{
@Override
public void assemble( ModuleAssembly module )
throws AssemblyException
{
module.transients( SomeOtherFoo.class, BasicFoo.class );
}
}.module();
assertEquals( CATHEDRAL, module.newTransientBuilder( SomeOtherFoo.class ).newInstance().bar() );
assertEquals( BAZAR, module.newTransientBuilder( BasicFoo.class ).newInstance().bar() );
try
{
module.newTransientBuilder( Foo.class );
fail( "Ambiguous type exception not detected for Transients" );
}
catch( AmbiguousTypeException expected )
{
}