Exemple #1
0
	def testSeq2Num(self):
		from iegen.util import iter_islast
		count=0
		for i,is_last in iter_islast(range(2)):
			self.failUnless(count==i,'%d!=%d'%(i,count))
			if i<1:
				self.failIf(is_last,'is_last is True but we are not at the last item')
			else:
				self.failUnless(is_last,'is_last is False but we are at the last item')
			count+=1
Exemple #2
0
	def testStringSeq(self):
		from iegen.util import iter_islast
		text='Upper Class Twit of The Year 2'
		pos=0
		for ch,is_last in iter_islast(text):
			self.failUnless(text[pos]==ch,'%s!=%s'%(text[pos],ch))
			if pos<len(text)-1:
				self.failIf(is_last,'is_last is True but we are not at the last item')
			else:
				self.failUnless(is_last,'is_last is False but we are at the last item')
			pos+=1
Exemple #3
0
    def visitProgram(self, node):
        from iegen.util import iter_islast

        self.inProgram(node)
        for statement in node.preamble:
            statement.apply_visitor(self)
        for function, is_last in iter_islast(node.functions):
            function.apply_visitor(self)
            if not is_last:
                self.betweenFunctions(node)
        self.outProgram(node)
Exemple #4
0
    def visitFunction(self, node):
        from iegen.util import iter_islast

        self.in_function = True
        self.inFunction(node)
        for param, is_last in iter_islast(node.params):
            param.apply_visitor(self)
            if not is_last:
                self.betweenParameters(param)
        self.betweenParamsStatements(node)
        for statement in node.body:
            statement.apply_visitor(self)
        self.outFunction(node)
        self.in_function = False
Exemple #5
0
	def testSeq0Num(self):
		from iegen.util import iter_islast
		for i,is_last in iter_islast(range(0)):
			self.fail('This loop should have no iterations')
Exemple #6
0
	def testSeq1Num(self):
		from iegen.util import iter_islast
		for i,is_last in iter_islast(range(1)):
			self.failUnless(0==i,'0!=%d'%(i))
			self.failUnless(is_last,'is_last is False but we are at the last item')