def test_conversions(self):
        self.assertEqual(funcs.prefix_to_netmask(24), IPAddress('255.255.255.0'))
        self.assertRaises(ValueError, funcs.prefix_to_netmask(33))

        self.assertEqual(funcs.netmask_to_prefix('255.255.255.224'), 27)

        self.assertEqual(funcs.netmask_to_hosts(24), 256)
        self.assertEqual(funcs.netmask_to_hosts('255.255.255.224'), 32)
    def test_conversions(self):
        self.assertEqual(funcs.prefix_to_netmask(24),
                         IPAddress('255.255.255.0'))
        self.assertRaises(ValueError, funcs.prefix_to_netmask(33))

        self.assertEqual(funcs.netmask_to_prefix('255.255.255.224'), 27)

        self.assertEqual(funcs.netmask_to_hosts(24), 256)
        self.assertEqual(funcs.netmask_to_hosts('255.255.255.224'), 32)
    def __init__(self, cidr):
        """
        Creates range object with Cidr

        :param cidr: network_address/prefix eg. 123.0.0.0/24

        """
        a_range = get_address_range(cidr)
        self.first_addr = a_range[0]
        self.last_addr = a_range[1]
        self._network_size = int(IPAddress(self.last_addr) - IPAddress(self.first_addr))
        self.cidr = cidr
        self.netmask = prefix_to_netmask(cidr.split('/')[1])
        super(IrregularRange, self).__init__(self.first_addr, self.last_addr)
    def __init__(self, cidr):
        """
        Creates range object with Cidr

        :param cidr: network_address/prefix eg. 123.0.0.0/24

        """
        a_range = get_address_range(cidr)
        self.first_addr = a_range[0]
        self.last_addr = a_range[1]
        self._network_size = int(
            IPAddress(self.last_addr) - IPAddress(self.first_addr))
        self.cidr = cidr
        self.netmask = prefix_to_netmask(cidr.split('/')[1])
        super(IrregularRange, self).__init__(self.first_addr, self.last_addr)