@@ -1402,6 +1402,16 @@ def testGetSupernet(self):
14021402 self .assertEqual (self .ipv4_network .supernet ().prefixlen , 23 )
14031403 self .assertEqual (str (self .ipv4_network .supernet ().network_address ),
14041404 '1.2.2.0' )
1405+ self .assertEqual (int (self .ipv6_network .broadcast_address ),
1406+ 42540616829182469451850391367731642367 )
1407+ self .assertEqual (str (self .ipv6_network .broadcast_address ),
1408+ '2001:658:22a:cafe:ffff:ffff:ffff:ffff' )
1409+ self .assertEqual (int (self .ipv6_scoped_network .broadcast_address ),
1410+ 42540616829182469451850391367731642367 )
1411+ self .assertEqual (str (self .ipv6_scoped_network .broadcast_address ),
1412+ '2001:658:22a:cafe:ffff:ffff:ffff:ffff' )
1413+
1414+ self .assertEqual (self .ipv4_network .supernet (new_prefix = 22 ).prefixlen , 22 )
14051415 self .assertEqual (
14061416 ipaddress .IPv4Interface ('0.0.0.0/0' ).network .supernet (),
14071417 ipaddress .IPv4Network ('0.0.0.0/0' ))
@@ -2030,9 +2040,9 @@ def testInterfaceComparison(self):
20302040 self .assertTrue (ipaddress .ip_interface ('::1%scope/80' ) >
20312041 ipaddress .ip_interface ('::1/64' ))
20322042 self .assertTrue (ipaddress .ip_interface ('::2%scope/64' ) >
2033- ipaddress .ip_interface ('::1/64' ))
2043+ ipaddress .ip_interface ('::1%scope /64' ))
20342044 self .assertTrue (ipaddress .ip_interface ('::1%scope/64' ) >
2035- ipaddress .ip_interface ('::2/48' ))
2045+ ipaddress .ip_interface ('::2%scope /48' ))
20362046
20372047 self .assertFalse (ipaddress .ip_interface ('::1/64' ) ==
20382048 ipaddress .ip_interface ('::1%scope/64' ))
@@ -2744,6 +2754,26 @@ def testV6HashIsNotConstant(self):
27442754 ipv6_address2 = ipaddress .IPv6Interface ("2001:658:22a:cafe:200:0:0:2" )
27452755 self .assertNotEqual (ipv6_address1 .__hash__ (), ipv6_address2 .__hash__ ())
27462756
2757+ def test_ipv6_network_address_deprecation (self ):
2758+ network = ipaddress .IPv6Network ('2001:658:22a:cafe::/64' )
2759+ with self .assertWarns (DeprecationWarning ) as warn :
2760+ addr = network .network_address
2761+ self .assertEqual (str (addr ), "2001:658:22a:cafe::" )
2762+ self .assertEqual (int (addr ), 42540616829182469433403647294022090752 )
2763+ self .assertEqual (addr , network .first_address )
2764+ self .assertEqual (addr , network .subnet_router_anycast_address )
2765+ self .assertIn ("IPv6 has no network addresses" , str (warn .warning ))
2766+ self .assertIn ("consider using first_address or subnet_router_anycast_address instead" , str (warn .warning ))
2767+
2768+ def test_ipv6_broadcast_address_deprecation (self ):
2769+ network = ipaddress .IPv6Network ('2001:658:22a:cafe::/64' )
2770+ with self .assertWarns (DeprecationWarning ) as warn :
2771+ addr = network .broadcast_address
2772+ self .assertEqual (str (addr ), "2001:658:22a:cafe:ffff:ffff:ffff:ffff" )
2773+ self .assertEqual (int (addr ), 42540616829182469451850391367731642367 )
2774+ self .assertEqual (addr , network .last_address )
2775+ self .assertIn ("IPv6 has no broadcast addresses" , str (warn .warning ))
2776+ self .assertIn ("consider using last_address instead" , str (warn .warning ))
27472777
27482778if __name__ == '__main__' :
27492779 unittest .main ()
0 commit comments