Download lib/python3.9/idlelib/idle_test/test_delegator.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 1.57 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/idlelib/idle_test/test_delegator.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/idlelib/idle_test/test_delegator.py
-
curl -L -o test_delegator.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/idlelib/idle_test/test_delegator.py
1.57 kB
| "Test delegator, coverage 100%." | |
| from idlelib.delegator import Delegator | |
| import unittest | |
| class DelegatorTest(unittest.TestCase): | |
| def test_mydel(self): | |
| # Test a simple use scenario. | |
| # Initialize an int delegator. | |
| 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. | |
| 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'. | |
| mydel.numerator | |
| self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'}) | |
| # Delete 'numerator'. | |
| 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 | |
| # Change delegate to float, first resetting the attributes. | |
| mydel.setdelegate(float) # calls resetcache | |
| 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) | |