$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); }); it("returns null if non valid", function () { $collection = new Collection(); $value = $collection->key(); expect($value)->toBe(null); }); }); describe("->current()", function () {