public function testToArrayCallsToArrayOnEachItemInCollection() { $item1 = m::mock('Collection\\Contracts\\Arrayable'); $item1->shouldReceive('toArray')->once()->andReturn('foo.array'); $item2 = m::mock('Collection\\Contracts\\Arrayable'); $item2->shouldReceive('toArray')->once()->andReturn('bar.array'); $c = new Collection([$item1, $item2]); $results = $c->toArray(); $this->assertEquals(['foo.array', 'bar.array'], $results); }