I think we should define a unittest.mock.NAN constant that can be used with Mock.assert_called_with() to assert that an argument passed to a Mock was NaN. NaNs are special in that math.nan != math.nan, so you can't just do assert_called_with(math.nan). The naming is meant to parallel unittest.mock.ANY.
Here is a reference implementation: class _EqNaN: def __eq__(self, other): return math.isnan(other) NAN = _EqNaN() The alternative is that users can just define this EqNaN class themselves as needed in test code. I encountered the need to test for a NaN argument today and was surprised to find that (as far as I can tell) there is no pre-built solution to this in unittest or pytest. It feels like it should be included in some standard library. - Kerrick -- https://mail.python.org/mailman/listinfo/python-list