def test_parsesPythonLibraryCorrectly(self): class TreeVisitor: pass import time tree = createTree() t1 = time.time() for i in xrange(1000): visitor.walk(tree, TreeVisitor()) print "tree without yield", time.time() - t1 t1 = time.time() for i in xrange(1000): for node in visitor.walkAndGenerate(tree, TreeVisitor()): pass print "tree with yield", time.time() - t1
def test_parsesPythonLibraryCorrectly(self): class TreeVisitor: pass import time tree = createTree() t1 = time.time() for i in xrange(1000): visitor.walk(tree,TreeVisitor()) print "tree without yield",time.time()-t1 t1 = time.time() for i in xrange(1000): for node in visitor.walkAndGenerate(tree,TreeVisitor()): pass print "tree with yield",time.time()-t1
def test_callsVisitorFunctionsWithYield(self): tree = createTree() class TreeVisitor: def __init__(self): self.txt = [] def visitAClass(self, node): self.txt.append("visitAClass") self.txt.append(node.txt) yield node for i in self.visitChildren(node): yield i def visitCClass(self, node): self.txt.append("visitCClass") self.txt.append(node.txt) if 0: yield 1 def getTxt(self): return ",".join(self.txt) for node in visitor.walkAndGenerate(tree, TreeVisitor()): assert node.txt == "aclass"
def test_callsVisitorFunctionsWithYield(self): tree = createTree() class TreeVisitor: def __init__(self): self.txt = [] def visitAClass(self,node): self.txt.append("visitAClass") self.txt.append(node.txt) yield node for i in self.visitChildren(node): yield i def visitCClass(self,node): self.txt.append("visitCClass") self.txt.append(node.txt) if 0: yield 1 def getTxt(self): return ",".join(self.txt) for node in visitor.walkAndGenerate(tree,TreeVisitor()): assert node.txt == "aclass"