public function testOffsetSet() { $n = new Node(); self::$n->offsetSet(1, $n); $this->assertEquals($n, self::$n[1]); $n1 = new Node(); self::$n->offsetSet(100, $n1); $this->assertEquals($n1, self::$n->last()); $n2 = new Node(); self::$n->offsetSet(0, $n2); $this->assertEquals($n2, self::$n->first()); foreach (self::$n as $key => $child) { $keys[] = $key; $nodes[] = $child; } $this->assertEquals([$n2, $n, self::$n2, $n1], $nodes); $this->assertEquals([0, 1, 2, 3], $keys); }