PhpParser\NodeTraverserTest::testRemovingVisitor PHP Method

testRemovingVisitor() public method

public testRemovingVisitor ( )
    public function testRemovingVisitor()
    {
        $visitor1 = $this->getMockBuilder('PhpParser\\NodeVisitor')->getMock();
        $visitor2 = $this->getMockBuilder('PhpParser\\NodeVisitor')->getMock();
        $visitor3 = $this->getMockBuilder('PhpParser\\NodeVisitor')->getMock();
        $traverser = new NodeTraverser();
        $traverser->addVisitor($visitor1);
        $traverser->addVisitor($visitor2);
        $traverser->addVisitor($visitor3);
        $preExpected = array($visitor1, $visitor2, $visitor3);
        $this->assertAttributeSame($preExpected, 'visitors', $traverser, 'The appropriate visitors have not been added');
        $traverser->removeVisitor($visitor2);
        $postExpected = array(0 => $visitor1, 2 => $visitor3);
        $this->assertAttributeSame($postExpected, 'visitors', $traverser, 'The appropriate visitors are not present after removal');
    }