$collection = new Collection($data); expect('Lead\\Collection\\Collection')->toReceive('::toArray')->with($collection); $collection->data(); }); }); describe("->key()", function () { it("returns current key", function () { $collection = new Collection([1, 2, 3, 4, 5]); $value = $collection->key(); expect($value)->toBe(0); }); }); describe("->current()", function () { it("returns current value", function () { $collection = new Collection([1, 2, 3, 4, 5]); $value = $collection->current(); expect($value)->toBe(1); }); }); describe("->prev()/->next()", function () { it("returns prev value", function () { $collection = new Collection([1, 2, 3]); $collection->rewind(); expect($collection->next())->toBe(2); expect($collection->next())->toBe(3); expect($collection->next())->toBe(null); $collection->end(); expect($collection->prev())->toBe(2); expect($collection->prev())->toBe(1); expect($collection->prev())->toBe(null); });