Ну, как насчет того, чтобы улучшить свою функцию парой молний:
def testF(self):
for tuple1, tuple2 in zip(f(range(1,3)), [(1.0, 2), (0.5, 4)]):
for val1, val2 in zip(tuple1, tuple2):
if type(val2) is float:
self.assertAlmostEquals(val1, val2, 5)
else:
self.assertEquals(val1, val2)
Моя предпосылка здесь заключается в том, что лучше использовать несколько утверждений в цикле, чтобы получить точные значения, где он разрывается, по сравнению с использованием одного утверждения со всеми ().
пс. Если у вас есть другие числовые типы, для которых вы хотите использовать assertAlmostEquals, вы можете изменить, если выше, например, например. if type(val2) in [float, decimal.Decimal]: