diff options
Diffstat (limited to 'Lib/idlelib/idle_test/test_delegator.py')
-rw-r--r-- | Lib/idlelib/idle_test/test_delegator.py | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/Lib/idlelib/idle_test/test_delegator.py b/Lib/idlelib/idle_test/test_delegator.py index 9224162..b8ae5ee 100644 --- a/Lib/idlelib/idle_test/test_delegator.py +++ b/Lib/idlelib/idle_test/test_delegator.py @@ -1,44 +1,37 @@ -"Test delegator, coverage 100%." - -from idlelib.delegator import Delegator import unittest - +from idlelib.Delegator import Delegator class DelegatorTest(unittest.TestCase): def test_mydel(self): - # Test a simple use scenario. + # test a simple use scenario - # Initialize an int delegator. + # initialize mydel = Delegator(int) self.assertIs(mydel.delegate, int) self.assertEqual(mydel._Delegator__cache, set()) - # Trying to access a non-attribute of int fails. - self.assertRaises(AttributeError, mydel.__getattr__, 'xyz') - # Add real int attribute 'bit_length' by accessing it. + # add an attribute: + self.assertRaises(AttributeError, mydel.__getattr__, 'xyz') bl = mydel.bit_length self.assertIs(bl, int.bit_length) self.assertIs(mydel.__dict__['bit_length'], int.bit_length) self.assertEqual(mydel._Delegator__cache, {'bit_length'}) - # Add attribute 'numerator'. + # add a second attribute mydel.numerator self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'}) - # Delete 'numerator'. + # delete the second (which, however, leaves it in the name cache) del mydel.numerator self.assertNotIn('numerator', mydel.__dict__) - # The current implementation leaves it in the name cache. - # self.assertIn('numerator', mydel._Delegator__cache) - # However, this is not required and not part of the specification + self.assertIn('numerator', mydel._Delegator__cache) - # Change delegate to float, first resetting the attributes. - mydel.setdelegate(float) # calls resetcache + # reset by calling .setdelegate, which calls .resetcache + mydel.setdelegate(float) + self.assertIs(mydel.delegate, float) self.assertNotIn('bit_length', mydel.__dict__) self.assertEqual(mydel._Delegator__cache, set()) - self.assertIs(mydel.delegate, float) - if __name__ == '__main__': unittest.main(verbosity=2, exit=2) |