Terry J. Reedy <tjre...@udel.edu> added the comment:

Barry, thank you for your first submission.

You propose to test numbers.Complex.__bool__

    def __bool__(self):
        """True if self != 0. Called for bool(self)."""
        return self != 0

by adding the following to Lib/test/test_abstract_numbers.

+        self.assertFalse(bool(complex(0,0)))
+        self.assertTrue(bool(complex(1,2)))

I believe that this particular addition should be rejected.  It is a concrete 
test of the builtin complex that partially duplicates the following in 
test_complex.

    def test_boolcontext(self):
        for i in range(100):
            self.assertTrue(complex(random() + 1e-6, random() + 1e-6))
        self.assertTrue(not complex(0.0, 0.0))

Looking the tests of collections.abc in test_collections, I believe a proper 
test should define a subclass of Complex (in Python), with at least __init__ 
and __eq__ methods and test instances of *that*.

If I were to review a patch, I would like to see a more extensive addition, one 
that imports test_collections.ABCTestCase (or copies and adapts the same) and 
uses it to test a much fuller implementation of Complex.  As it is, none of the 
numbers abc class methods are tested.

Raymond, were you involved with the abc tests? Either way, what do you think?

----------
nosy: +rhettinger, terry.reedy

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33284>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to