| |
comp.lang.python |
>> Steve Howell wrote: >>>> # Let's write reusable code, and unit test >> self.failUnlessEqual(add_money([0.13, >> self.failUnlessEqual(add_money([100.01, >>> Just a minor quibble, but wouldn't you want the > Maybe this is the first good example that motivates a STeVe
> --- Steven Bethard <steven.beth...@gmail.com> wrote:
>>> --- Steven Bethard <steven.beth...@gmail.com>
>> wrote:
>>>> I think I would rewrite the current unit-testing
>>>> example to use the
>>>> standard library unittest module::
>> it.
>>>> def add_money(amounts):
>>>> # do arithmetic in pennies so as not to
>>>> accumulate float errors
>>>> pennies = sum([round(int(amount * 100))
>> for
>>>> amount in amounts])
>>>> return float(pennies / 100.0)
>>>> import unittest
>>>> class TestAddMoney(unittest.TestCase):
>>>> def test_float_errors(self):
>>>> 0.02]), 0.15)
>>>> 99.99]), 200)
>>>> self.failUnlessEqual(add_money([0,
>>>> -13.00, 13.00]), 0)
>>>> if __name__ == '__main__':
>>>> unittest.main()
>> import
>>> and test class to only get executed in the
>> ___main__
>>> context?
>> That would be fine too. In the real world, I'd put
>> the tests in a
>> different module.
> hyperlink to alternatives. Would you accept the idea
> that we keep my original example on the SimplePrograms
> page, but we link to a UnitTestingPhilosophies page,
> and we show your alternative there? Or vice versa,
> show your example on the first page, but then show
> mine on the hyperlinked page?