【发布时间】:2010-06-11 13:07:51
【问题描述】:
我有一个函数,它返回一个元组,其中包含一个浮点值。通常我使用assertAlmostEquals 来比较它们,但这不适用于元组。此外,元组还包含其他数据类型。目前我正在单独声明元组的每个元素,但是对于这样的元组列表来说这太过分了。有什么好的方法可以为这种情况编写断言吗?
考虑这个函数:
def f(a):
return [(1.0/x, x * 2) for x in a]
现在我想为它写一个测试:
def testF(self):
self.assertEqual(f(range(1,3)), [(1.0, 2), (0.5, 4)])
这将失败,因为1.0/2 的结果不完全是0.5。谁能推荐一种以可读方式编写这样一个断言的好方法?
编辑:实际上1.0/2 就是0.5,但你明白我的意思。
【问题讨论】:
-
实际上 0.5 完全可以代表
double。 -
我也想通了——但我希望你明白了。
标签: python unit-testing floating-point tuples assert