$data = ['Delete me', 'Hello', 'Delete me', 'Hello again!']; $collection = new Collection(compact('data')); $loop = 0; foreach ($collection as $i => $word) { if ($word === 'Delete me') { unset($collection[$i]); } $loop++; } expect($loop)->toBe(4); }); }); describe("->keys()", function () { it("returns the item keys", function () { $collection = new Collection(['data' => ['key1' => 'one', 'key2' => 'two', 'key3' => 'three']]); expect($collection->keys())->toBe(['key1', 'key2', 'key3']); }); }); describe("->get()", function () { it("returns the plain data", function () { $data = ['key1' => 'one', 'key2' => 'two', 'key3' => 'three']; $collection = new Collection(compact('data')); expect($collection->get())->toBe($data); }); }); describe("->key()", function () { it("returns current key", function () { $collection = new Collection(['data' => [1, 2, 3, 4, 5]]); $value = $collection->key(); expect($value)->toBe(0); });
$collection = new Collection(); expect($collection)->toReceive('offsetExists')->with(0); $collection->has(0); }); }); describe("->remove()", function () { it("delegates to `offsetUnset`", function () { $collection = new Collection(); expect($collection)->toReceive('offsetUnset')->with(0); $collection->remove(0); }); }); describe("->keys()", function () { it("returns the item keys", function () { $collection = new Collection(['data' => ['one', 'two', 'three']]); expect($collection->keys())->toBe([0, 1, 2]); }); }); describe("->get()", function () { it("returns the plain data", function () { $data = ['one', 'two', 'three']; $collection = new Collection(compact('data')); expect($collection->get())->toBe($data); }); }); describe("->key()", function () { it("returns current key", function () { $collection = new Collection(['data' => [1, 2, 3, 4, 5]]); $value = $collection->key(); expect($value)->toBe(0); });