public function testSlice() { $root = new RootNode(); $nodes = []; for ($i = 0; $i < 5; $i++) { $node = $this->createNode(); $root->append($node); $nodes[] = $node; } $collection = new NodeCollection($nodes, FALSE); $slice = $collection->slice(4); $this->assertCount(1, $slice); $slice = $collection->slice(2, 4); $this->assertCount(2, $slice); $slice = $collection->slice(1, -1); $this->assertCount(3, $slice); $slice = $collection->slice(1, -2); $this->assertCount(2, $slice); $slice = $collection->slice(-2, -1); $this->assertCount(1, $slice); $slice = $collection->slice(-3, -1); $this->assertCount(2, $slice); }