๊ฐ ์ฌํ์๊ฐ 1์ผํธ๊น์ง ์ชผ๊ฐ์ ๋์ ๊ฐ์ง๋ค๊ณ ์๊ฐํ ์ฝ๋์
๋๋ค.
~cpp
class Exchanger:
def getListOfBiggerThan(self, aMean, aList):
resultList = []
for each in aList:
if each > aMean:
resultList.append(each)
return resultList
def getMeanOfList(self, aList):
return sum(aList, 0) / len(aList)
def offerAShareOfMoney(self, aExpenses):
expensesBiggerThanMean = self.getListOfBiggerThan(
self.getMeanOfList(aExpenses),
aExpenses)
result = 0.0
for each in expensesBiggerThanMean:
result = result + abs( each - self.getMeanOfList(aExpenses) )
return result
#########################################################################
import unittest
class TheTripTestCase(unittest.TestCase):
def setUp(self):
self.ex = Exchanger()
def testGetListOfBiggerThan(self):
expenses = [0.0, 1.0, 2.0, 3.0]
mean = self.ex.getMeanOfList(expenses) # mean is 1.5
expected = expenses[2:]
self.assertEquals( expected,
self.ex.getListOfBiggerThan( mean, expenses ))
def testOfferAShareOfMoney(self):
self.assertEquals( 10.0,
self.ex.offerAShareOfMoney( [10.0, 20.0, 30.0] ))
self.assertEquals( 11.99,
self.ex.offerAShareOfMoney( [15.0, 15.01, 3.0, 3.01] ))
#########################################################################
if __name__ == '__main__':
unittest.main()
Thread ¶
์ผ๋จ ๋ฌธ์ ๋ฅผ ์ดํดํ๋๋ฐ ์๊ฐ์ด 20๋ถ ์ ๋ ๊ฑธ๋ ธ๋ค. ๋ฌธ์ ํด๊ฒฐ์ฑ
์ ์ฐพ์๋ณด๋ ์ค ํ๊ท ๋ณด๋ค ๋ง์ด ๊ฐ์ง ์ฌ๋๋ค์ด ๋์ ๋๋์ด ์ฃผ๋ฉด ๋๋ค๋ ์ฌ์ค์ ๊นจ๋ซ๊ธฐ๊น์ง 14๋ถ ๊ฑธ๋ ธ๋ค. ์ฝ๋๋ก ๋ง๋๋๋ฐ๋ 41๋ถ์ด ๊ฑธ๋ ธ๋๋ฐ, ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ฌด๋ํ ์์ฑํ์๋ค. ๋๋จธ์ง ์๊ฐ์ ๋ฌธ๋ฒ์ ๋ณด๊ฑฐ๋ ๋๋ฒ๊น
ํ๋ค.
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ ์ ์ํ ์
๋ ฅ๋ถํฐ ๋ณด๋ ๊ฒฝํฅ์ด ์๋ค. ๋ฌธ์ ๋ฅผ ์ดํด ๋ชปํ์ผ๋ฏ๋ก ์ํ ์
๋ ฅ์ ๋ณด๋ค๊ฐ ๊ฒฐ๊ตญ ๋ค์ ๋ฌธ์ ๋ฅผ ๋ณด๋๋ผ ์๊ฐ์ด ์ง์ฒด๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ๋ฅผ ๋ค ์ดํดํ๊ณ , ์ ์ํ ๋ค ์ํ ์
๋ ฅ์ ๋ณด์ ์ ์๊ฐ ๋ง๋์ง ํ์ธํ๋ ์์๋ก ๋ฌธ์ ๋ฅผ ํ์ด์ผ๊ฒ ๋ค. ํด๊ฒฐ์ฑ
์ ๋ฌธ์ ๋ฅผ ์ ์ํ ๋ค์์ ๋ ์ฌ๋ฆฐ๋ค.
๋ฌด์์ด ์๋ชป ๋์ด๋ ํ
์คํธ๋ฅผ ์ถ๊ฐํด๋ณธ๋ค๋ ์ ์ ์ญ์๋ TDD๊ฐ ๋งค๋ ฅ์ ์ผ ์ ๋ฐ์ ์๋ ์์ธ์ด๋ค. ์ด์ ๋ ์์ผ๋ก ํ
์คํธ๋ฅผ ํ๋ ค๋ฉด ๋๋ฌด ๊ท์ฐฎ๊ณ ์๊ฐ๋ญ๋น๋ผ๊ณ ์๊ฐํ๋ค. TDD ๋ฆฌ๋ฌ์ ์กฐ์ ํด์ค ํํธ๋๊ฐ ์์ ์๋ค๋ฉด ๋์ฑ ์ข์ผ๋ จ๋ง.
--Leonardong
--Leonardong









