(self)
| 2107 | ipaddress.ip_interface('::2%scope/48')) |
| 2108 | |
| 2109 | def testNetworkComparison(self): |
| 2110 | # ip1 and ip2 have the same network address |
| 2111 | ip1 = ipaddress.IPv4Network('1.1.1.0/24') |
| 2112 | ip2 = ipaddress.IPv4Network('1.1.1.0/32') |
| 2113 | ip3 = ipaddress.IPv4Network('1.1.2.0/24') |
| 2114 | |
| 2115 | self.assertTrue(ip1 < ip3) |
| 2116 | self.assertTrue(ip3 > ip2) |
| 2117 | |
| 2118 | self.assertEqual(ip1.compare_networks(ip1), 0) |
| 2119 | |
| 2120 | # if addresses are the same, sort by netmask |
| 2121 | self.assertEqual(ip1.compare_networks(ip2), -1) |
| 2122 | self.assertEqual(ip2.compare_networks(ip1), 1) |
| 2123 | |
| 2124 | self.assertEqual(ip1.compare_networks(ip3), -1) |
| 2125 | self.assertEqual(ip3.compare_networks(ip1), 1) |
| 2126 | self.assertTrue(ip1._get_networks_key() < ip3._get_networks_key()) |
| 2127 | |
| 2128 | ip1 = ipaddress.IPv6Network('2001:2000::/96') |
| 2129 | ip2 = ipaddress.IPv6Network('2001:2001::/96') |
| 2130 | ip3 = ipaddress.IPv6Network('2001:ffff:2000::/96') |
| 2131 | |
| 2132 | self.assertTrue(ip1 < ip3) |
| 2133 | self.assertTrue(ip3 > ip2) |
| 2134 | self.assertEqual(ip1.compare_networks(ip3), -1) |
| 2135 | self.assertTrue(ip1._get_networks_key() < ip3._get_networks_key()) |
| 2136 | |
| 2137 | # Test comparing different protocols. |
| 2138 | # Should always raise a TypeError. |
| 2139 | self.assertRaises(TypeError, |
| 2140 | self.ipv4_network.compare_networks, |
| 2141 | self.ipv6_network) |
| 2142 | ipv6 = ipaddress.IPv6Interface('::/0') |
| 2143 | ipv4 = ipaddress.IPv4Interface('0.0.0.0/0') |
| 2144 | self.assertRaises(TypeError, ipv4.__lt__, ipv6) |
| 2145 | self.assertRaises(TypeError, ipv4.__gt__, ipv6) |
| 2146 | self.assertRaises(TypeError, ipv6.__lt__, ipv4) |
| 2147 | self.assertRaises(TypeError, ipv6.__gt__, ipv4) |
| 2148 | |
| 2149 | # Regression test for issue 19. |
| 2150 | ip1 = ipaddress.ip_network('10.1.2.128/25') |
| 2151 | self.assertFalse(ip1 < ip1) |
| 2152 | self.assertFalse(ip1 > ip1) |
| 2153 | ip2 = ipaddress.ip_network('10.1.3.0/24') |
| 2154 | self.assertTrue(ip1 < ip2) |
| 2155 | self.assertFalse(ip2 < ip1) |
| 2156 | self.assertFalse(ip1 > ip2) |
| 2157 | self.assertTrue(ip2 > ip1) |
| 2158 | ip3 = ipaddress.ip_network('10.1.3.0/25') |
| 2159 | self.assertTrue(ip2 < ip3) |
| 2160 | self.assertFalse(ip3 < ip2) |
| 2161 | self.assertFalse(ip2 > ip3) |
| 2162 | self.assertTrue(ip3 > ip2) |
| 2163 | |
| 2164 | # Regression test for issue 28. |
| 2165 | ip1 = ipaddress.ip_network('10.10.10.0/31') |
| 2166 | ip2 = ipaddress.ip_network('10.10.10.0') |
nothing calls this directly
no test coverage detected