Example
import unittest
from mcurrencycalc import *
class MultiCurrencyCalculatorTestCase(unittest.TestCase):
def testSameCurrencyAdding(self):
m100USD=Money(100,'USD')
m200USD=Money(200,'USD')
m300USD=Money(300,'USD')
self.assertEquals(m100USD+m200USD,m300USD)
if __name__ == '__main__':
unittest.main()
class Money:
def __init__(self,amount,currency):
self.amount=amount
self.currency=currency
def __add__(self,aMoney):
usdMoney=aMoney.changeToUsd()
return Money(self.amount+usdMoney.amount, self.currency)
def __cmp__(self,aMoney):
usdMoney=aMoney.changeToUsd()
return (self.amount - usdMoney.amount)
def changeToUsd(self):
if self.currency == 'KRW':
usdAmount=self.amount/1200
else:
usdAmount=self.amount
self.amount=usdAmount
return self
import unittest
from mcurrencycalc import *
class MultiCurrencyCalculatorTestCase(unittest.TestCase):
def testMakeMoney(self):
m100USD=Money(100,'USD')
self.assertEquals(m100USD.amount,100)
self.assertEquals(m100USD.currency,'USD')
def testAddSameCurrency(self):
m100USD=Money(100,'USD')
m200USD=Money(200,'USD')
m300USD=Money(300,'USD')
self.assertEquals((m100USD+m200USD),m300USD)
def testChangeCurrency(self):
m1USD=Money(1,'USD')
m1200KRW=Money(1200,'KRW')
self.assertEquals(m1USD , m1200KRW)
def testAddDifferentCurrency(self):
mAddedMoney=Money(100,'USD') + Money(3600,'KRW')
self.assertEquals(mAddedMoney , Money(103,'USD'))
def testChangeToUsd(self):
self.assertEquals(Money(2400,'KRW').changeToUsd(), Money(2,'USD'))
if __name__ == '__main__':
unittest.main()