TDD表达式再次实现待完善

def num(s,idx):
    return int(s[idx])

def plus(s):
    return num(s,0) + num(s,2)

def cur(s,idx):
    return s[idx]

def plus2(s):
    v = num(s,0)
    i = 1
    op = cur(s,i)
    while (op == '+'):
        if (i + 1 < len(s)):
            i += 1
            v += num(s,i)
        else:
            break
        if (i + 1 < len(s)):
            i += 1
            op = cur(s,i)  
        else:
            break
    return v
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Filename:test_expr.py

import unittest
from expression2 import *

class ExprTestCase(unittest.TestCase):
    def setUp(self):
        return
    def tearDown(self):
        return

    def testNum(self):
        self.assertEqual(1,num("1",0))
        self.assertEqual(3,num("1+3",2))
        self.assertEqual(5,num("1+3+5",4))
        return True

    def testPlus(self):
        self.assertEqual(4,plus("1+3"))
        self.assertEqual(9,plus2("1+3+5"))
    
          
if __name__ == '__main__':
    unittest.main()

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...