public function testSlice()
{
$name = new Name('foo\\bar\\baz');
$this->assertEquals(new Name('foo\\bar\\baz'), $name->slice(0));
$this->assertEquals(new Name('bar\\baz'), $name->slice(1));
$this->assertNull($name->slice(3));
$this->assertEquals(new Name('foo\\bar\\baz'), $name->slice(-3));
$this->assertEquals(new Name('bar\\baz'), $name->slice(-2));
$this->assertEquals(new Name('foo\\bar'), $name->slice(0, -1));
$this->assertNull($name->slice(0, -3));
$this->assertEquals(new Name('bar'), $name->slice(1, -1));
$this->assertNull($name->slice(1, -2));
$this->assertEquals(new Name('bar'), $name->slice(-2, 1));
$this->assertEquals(new Name('bar'), $name->slice(-2, -1));
$this->assertNull($name->slice(-2, -2));
}