public function testIsTraversable()
{
$object1 = new CompleteObject(new SimpleObject('foo', new \stdClass()));
$object2 = new CompleteObject(new SimpleObject('bar', new \stdClass()));
$bag = (new ObjectBag())->with($object1)->with($object2);
$traversed = [];
foreach ($bag as $reference => $object) {
$traversed[$reference] = $object;
}
$this->assertSame(['foo' => $object1, 'bar' => $object2], $traversed);
}