<?phpusePhpParser\Builder;usePhpParser\Node\Name;usePhpParser\Node\Stmt;classUseTestextends\PHPUnit_Framework_TestCase{protectedfunctioncreateUseBuilder($name,$type=Stmt\Use_::TYPE_NORMAL){returnnewBuilder\Use_($name,$type);}publicfunctiontestCreation(){$node=$this->createUseBuilder('Foo\Bar')->getNode();$this->assertEquals(newStmt\Use_(array(newStmt\UseUse(newName('Foo\Bar'),'Bar'))),$node);$node=$this->createUseBuilder(newName('Foo\Bar'))->as('XYZ')->getNode();$this->assertEquals(newStmt\Use_(array(newStmt\UseUse(newName('Foo\Bar'),'XYZ'))),$node);$node=$this->createUseBuilder('foo\bar',Stmt\Use_::TYPE_FUNCTION)->as('foo')->getNode();$this->assertEquals(newStmt\Use_(array(newStmt\UseUse(newName('foo\bar'),'foo')),Stmt\Use_::TYPE_FUNCTION),$node);}publicfunctiontestNonExistingMethod(){$this->setExpectedException('LogicException','Method "foo" does not exist');$builder=$this->createUseBuilder('Test');$builder->foo();}}