}
public void testOmeletteCanHaveDifferentCheeseWithAFunnyComponentAdapter() {
Map cheeseMap = new HashMap();
MutablePicoContainer pico = new DefaultPicoContainer(new ConstructorInjectionComponentAdapterFactory());
pico.registerComponentImplementation(Omelette.class);
pico.registerComponent(new CheeseComponentAdapter("scott", Gouda.class, cheeseMap));
Cheese gouda = new Gouda();
cheeseMap.put("cheese", gouda);
Omelette goudaOmelette = (Omelette) pico.getComponentInstance(Omelette.class);
assertSame(gouda, goudaOmelette.getCheese());
Cheese roquefort = new Roquefort();
cheeseMap.put("cheese", roquefort);
Omelette roquefortOmelette = (Omelette) pico.getComponentInstance(Omelette.class);
assertSame(roquefort, roquefortOmelette.getCheese());
}