Skip to content

Add assertFloatsAreIdentical/assertComplexAreIdentical to unittest (or kwarg to assertEqual)? #121039

Description

@skirpichev

Feature or enhancement

Proposal:

Clones of assertFloatsAreIdentical() are scattered across the CPython tests:

defassertFloatsAreIdentical(self, x, y):

defassertFloatIdentical(self, x, y):

defidentical(self, x, y):

defassertEqualWithSign(self, actual, expected):

Maybe it's worth to have a dedicated check?

Or a special kwarg for the assertEqual method, to workaround NAN and -0.0 values for floats/complexes.

Edit:

Or at least some support from Lib/test/support... I was adding similar helper yet in another test file and that looks odd.

Numpy has numpy.testing.assert_equal():

>>> np.testing.assert_equal([0.0], [+0.0])
>>> np.testing.assert_equal([0.0], [-0.0])
Traceback (most recent call last):
...
AssertionError: Items are not equal:
item=0
ACTUAL: 0.0
DESIRED: -0.0
>>> np.testing.assert_equal([np.nan], [np.nan])
>>> np.testing.assert_equal([0.0], [np.nan])
Traceback (most recent call last):
...
AssertionError: Items are not equal:
item=0
ACTUAL: 0.0
DESIRED: nan

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dirtype-featureA feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions