/**
* Referenced binding test.
*/
@Test
public void testReferencedBinding() {
ServiceLocator locator = Injections.createLocator(this);
ValueInjected emptyValues = locator.createAndInitialize(ValueInjected.class);
assertSame(expectedFoo, emptyValues.foo);
assertSame(expectedIntegers, emptyValues.integers);
assertSame(expectedStrings, emptyValues.strings);
RefInjected refValues = locator.createAndInitialize(RefInjected.class);
expectedFoo = new Foo(10);
refValues.foo.set(expectedFoo);
expectedIntegers = new LinkedList<Integer>();
refValues.integers.set(expectedIntegers);
expectedStrings = new ArrayList<String>();
refValues.strings.set(expectedStrings);
ValueInjected updatedValues = locator.createAndInitialize(ValueInjected.class);
assertSame(expectedFoo, updatedValues.foo);
assertSame(expectedIntegers, updatedValues.integers);
assertSame(expectedStrings, updatedValues.strings);
}