Tôi có hàm trả về bộ tuple, trong số các giá trị khác có chứa giá trị float. Thông thường tôi sử dụng assertAlmostEquals
để so sánh chúng, nhưng điều này không làm việc với bộ dữ liệu. Ngoài ra, tuple cũng chứa các kiểu dữ liệu khác. Hiện tại, tôi đang khẳng định mọi phần tử của bộ dữ liệu riêng lẻ, nhưng điều đó lại quá nhiều đối với một danh sách các bộ dữ liệu như vậy. Có cách nào tốt để viết xác nhận cho các trường hợp như vậy không? Xem xét chức năng này:Kiểm tra xác nhận đối với bộ dữ liệu có phao nổi
def f(a):
return [(1.0/x, x * 2) for x in a]
Bây giờ tôi muốn viết một bài kiểm tra cho nó:
def testF(self):
self.assertEqual(f(range(1,3)), [(1.0, 2), (0.5, 4)])
này sẽ thất bại vì kết quả của 1.0/2
là không chính xác 0.5
. Bất cứ ai có thể giới thiệu một cách tốt để viết như một khẳng định trong một cách có thể đọc được?
Chỉnh sửa: Trên thực tế 1.0/2
chính xác là 0.5
, nhưng bạn hiểu ý nghĩa của tôi.
Trên thực tế 0,5 là chính xác có thể biểu thị cho 'double'. – kennytm
Chỉ cần tìm ra rằng quá - nhưng bạn có được điểm chung tôi hy vọng. –