diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2012-06-17 16:33:00 +1000 |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2012-06-17 16:33:00 +1000 |
commit | d972265df81bce483e6cad87d1cf4254f508e5c0 (patch) | |
tree | a386d7f25251cd554b1d4ec0c5fc817cce1f8a55 /Lib/test/test_ipaddress.py | |
parent | 5b0dac12b81f4af01506fb61184515147bee7a09 (diff) | |
download | cpython-git-d972265df81bce483e6cad87d1cf4254f508e5c0.tar.gz |
Improve an internal ipaddress test, add a comment explaining why treating networks as containers of interfaces rather than addresses would prove confusing
Diffstat (limited to 'Lib/test/test_ipaddress.py')
-rw-r--r-- | Lib/test/test_ipaddress.py | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py index cbd656ca56..22caa6dad2 100644 --- a/Lib/test/test_ipaddress.py +++ b/Lib/test/test_ipaddress.py @@ -150,16 +150,31 @@ class IpaddrUnitTest(unittest.TestCase): self.assertEqual(first, last) self.assertEqual(0, ipaddress._get_prefix_length(2**32, 0, 32)) self.assertEqual(128, ipaddress._count_righthand_zero_bits(0, 128)) - base_ip = ipaddress._BaseAddress('127.0.0.1') - try: - base_ip.version - self.fail('_BaseAddress.version didn\'t raise NotImplementedError') - except NotImplementedError: - pass self.assertEqual("IPv4Network('1.2.3.0/24')", repr(self.ipv4_network)) self.assertEqual('0x1020318', hex(self.ipv4_network)) self.assertRaises(TypeError, self.ipv4_network.__eq__, object()) + def testMissingAddressVersion(self): + class Broken(ipaddress._BaseAddress): + pass + broken = Broken('127.0.0.1') + with self.assertRaisesRegex(NotImplementedError, "Broken.*version"): + broken.version + + def testMissingNetworkVersion(self): + class Broken(ipaddress._BaseNetwork): + pass + broken = Broken('127.0.0.1') + with self.assertRaisesRegex(NotImplementedError, "Broken.*version"): + broken.version + + def testMissingAddressClass(self): + class Broken(ipaddress._BaseNetwork): + pass + broken = Broken('127.0.0.1') + with self.assertRaisesRegex(NotImplementedError, "Broken.*address"): + broken._address_class + def testGetNetwork(self): self.assertEqual(int(self.ipv4_network.network_address), 16909056) self.assertEqual(str(self.ipv4_network.network_address), '1.2.3.0') |