=IP Range Boundary Tests=

Copyright (c) 2008-2009, David P. D. Moss. All rights reserved.

{{{

>>> from netaddr import *
>>> import pprint

}}}

`iter_iprange()` iterator boundary tests.

{{{

>>> pprint.pprint(list(iter_iprange('192.0.2.0', '192.0.2.7')))
[IPAddress('192.0.2.0'),
 IPAddress('192.0.2.1'),
 IPAddress('192.0.2.2'),
 IPAddress('192.0.2.3'),
 IPAddress('192.0.2.4'),
 IPAddress('192.0.2.5'),
 IPAddress('192.0.2.6'),
 IPAddress('192.0.2.7')]

>>> pprint.pprint(list(iter_iprange('::ffff:192.0.2.0', '::ffff:192.0.2.7')))
[IPAddress('::ffff:192.0.2.0'),
 IPAddress('::ffff:192.0.2.1'),
 IPAddress('::ffff:192.0.2.2'),
 IPAddress('::ffff:192.0.2.3'),
 IPAddress('::ffff:192.0.2.4'),
 IPAddress('::ffff:192.0.2.5'),
 IPAddress('::ffff:192.0.2.6'),
 IPAddress('::ffff:192.0.2.7')]


}}}

`IPNetwork()` iterator boundary tests.

{{{

>>> pprint.pprint(list(IPNetwork('192.0.2.0/29')[0:-1]))
[IPAddress('192.0.2.0'),
 IPAddress('192.0.2.1'),
 IPAddress('192.0.2.2'),
 IPAddress('192.0.2.3'),
 IPAddress('192.0.2.4'),
 IPAddress('192.0.2.5'),
 IPAddress('192.0.2.6')]

>>> pprint.pprint(list(IPNetwork('192.0.2.0/29')[::-1]))
[IPAddress('192.0.2.7'),
 IPAddress('192.0.2.6'),
 IPAddress('192.0.2.5'),
 IPAddress('192.0.2.4'),
 IPAddress('192.0.2.3'),
 IPAddress('192.0.2.2'),
 IPAddress('192.0.2.1'),
 IPAddress('192.0.2.0')]
 
>>> pprint.pprint(list(IPNetwork('192.0.2.0/29').iter_hosts()))
[IPAddress('192.0.2.1'),
 IPAddress('192.0.2.2'),
 IPAddress('192.0.2.3'),
 IPAddress('192.0.2.4'),
 IPAddress('192.0.2.5'),
 IPAddress('192.0.2.6')]

>>> pprint.pprint(list(IPNetwork('::ffff:192.0.2.0/125').iter_hosts()))
[IPAddress('::ffff:192.0.2.0'),
 IPAddress('::ffff:192.0.2.1'),
 IPAddress('::ffff:192.0.2.2'),
 IPAddress('::ffff:192.0.2.3'),
 IPAddress('::ffff:192.0.2.4'),
 IPAddress('::ffff:192.0.2.5'),
 IPAddress('::ffff:192.0.2.6'),
 IPAddress('::ffff:192.0.2.7')]

}}}

`IPRange()` iterator boundary tests.

{{{

>>> pprint.pprint(list(IPRange('192.0.2.0', '192.0.2.7')))
[IPAddress('192.0.2.0'),
 IPAddress('192.0.2.1'),
 IPAddress('192.0.2.2'),
 IPAddress('192.0.2.3'),
 IPAddress('192.0.2.4'),
 IPAddress('192.0.2.5'),
 IPAddress('192.0.2.6'),
 IPAddress('192.0.2.7')]

>>> pprint.pprint(list(IPRange('::ffff:192.0.2.0', '::ffff:192.0.2.7')))
[IPAddress('::ffff:192.0.2.0'),
 IPAddress('::ffff:192.0.2.1'),
 IPAddress('::ffff:192.0.2.2'),
 IPAddress('::ffff:192.0.2.3'),
 IPAddress('::ffff:192.0.2.4'),
 IPAddress('::ffff:192.0.2.5'),
 IPAddress('::ffff:192.0.2.6'),
 IPAddress('::ffff:192.0.2.7')]

}}}
