public static class Foo {
public Foo() {
}
}
@Test
public void testShouldFindSupertypeOfAdapterOnAbstractAdapterDerivative() {
ConstructorInjector<Foo> injector = new ConstructorInjector<Foo>("key", Foo.class);
assertSame(injector, injector.findAdapterOfType(SingleMemberInjector.class));
}
@Test
public void testShouldFindSupertypeOfAdapterOnAbstractBehaviorDerivative() {
ConstructorInjector<Foo> injector = new ConstructorInjector<Foo>("key", Foo.class);
Cached<Foo> adapter = new Cached<Foo>(injector);
assertSame(adapter, adapter.findAdapterOfType(Stored.class));
assertSame(injector, adapter.findAdapterOfType(SingleMemberInjector.class));
}