Skip to content

case error in test_unary.py #99688

Description

@Isaac-Lee

Hello all,
I was looking throw the test code in cpython to use a test cases for my own python interpreter.
While looking at the code, I got curious.

First is this function.

def test_invert(self):
self.assertTrue(-2 == 0 - 2)
self.assertEqual(-0, 0)
self.assertEqual(--2, 2)
self.assertTrue(-2 == 0 - 2)

I think this function is not testing invert operator.
Instead it is just copying test cases of negative operator.

Next is these functions.

def test_negative(self):
self.assertTrue(-2 == 0 - 2)
self.assertEqual(-0, 0)
self.assertEqual(--2, 2)
self.assertTrue(-2 == 0 - 2)
self.assertTrue(-2.0 == 0 - 2.0)
self.assertTrue(-2j == 0 - 2j)

def test_positive(self):
self.assertEqual(+2, 2)
self.assertEqual(+0, 0)
self.assertEqual(++2, 2)
self.assertEqual(+2, 2)
self.assertEqual(+2.0, 2.0)
self.assertEqual(+2j, 2j)

I think these functions have duplicated test cases.
self.assertTrue(-2 == 0 - 2) tested twice in test_negative,
self.assertEqual(+2, 2) tested twice as well in test_positive.

I want to know if there is an intention that I don't know.
Or if there is a problem, I think we need to fix the test code.

Linked PRs

Activity

  1. sweeneyde commented on Nov 22, 2022

    @sweeneyde
    Member

    It looks like some of this is left over from Python 2, where the test cases would have said self.assertEqual(+2L, 2L). Redundant tests can be safely removed now.

    I agree that test_invert should be fixed to actually test the ~ operator.

    Would you like to make a PR?

  2. Isaac-Lee commented on Nov 23, 2022

    @Isaac-Lee
    ContributorAuthor

    It looks like some of this is left over from Python 2, where the test cases would have said self.assertEqual(+2L, 2L). Redundant tests can be safely removed now.

    Thank you for your answer. Now I understand.

    And sure if I can make a PR then it would be grateful.

  3. added a commit that references this issue on Dec 11, 2022
  4. sweeneyde commented on Dec 11, 2022

    @sweeneyde
    Member

    I'm sorry this took me so long to get to. Thanks for your contribution!

  5. added a commit that references this issue on Dec 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dir

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions