def test___init__(self): self.assertEqual( Ip4Host("192.168.9.100/24")._address, Ip4Address("192.168.9.100")) self.assertEqual( Ip4Host("192.168.9.100/24")._network, Ip4Network("192.168.9.0/24")) self.assertEqual( Ip4Host((Ip4Address("192.168.9.100"), Ip4Mask("255.255.255.0")))._address, Ip4Address("192.168.9.100")) self.assertEqual( Ip4Host((Ip4Address("192.168.9.100"), Ip4Mask("255.255.255.0")))._network, Ip4Network("192.168.9.0/24")) self.assertEqual( Ip4Host((Ip4Address("192.168.9.100"), Ip4Network("192.168.9.0/24")))._address, Ip4Address("192.168.9.100")) self.assertEqual( Ip4Host((Ip4Address("192.168.9.100"), Ip4Network("192.168.9.0/24")))._network, Ip4Network("192.168.9.0/24")) self.assertEqual( Ip4Host(Ip4Host("192.168.9.100/24"))._address, Ip4Address("192.168.9.100")) self.assertEqual( Ip4Host(Ip4Host("192.168.9.100/24"))._network, Ip4Network("192.168.9.0/24")) self.assertRaises(Ip4HostFormatError, Ip4Host, "192.168.9.5//32") self.assertRaises(Ip4HostFormatError, Ip4Host, "192.168.9.5")
def test___init__(self): self.assertEqual( Ip4Network("192.168.9.100/24")._address, Ip4Address("192.168.9.0")) self.assertEqual( Ip4Network("192.168.9.100/24")._mask, Ip4Mask("255.255.255.0")) self.assertEqual( Ip4Network(Ip4Network("192.168.9.100/24"))._address, Ip4Address("192.168.9.0")) self.assertEqual( Ip4Network(Ip4Network("192.168.9.100/24"))._mask, Ip4Mask("255.255.255.0")) self.assertEqual( Ip4Network((Ip4Address("192.168.9.100"), Ip4Mask("255.255.255.0")))._address, Ip4Address("192.168.9.0")) self.assertEqual( Ip4Network( (Ip4Address("192.168.9.100"), Ip4Mask("255.255.255.0")))._mask, Ip4Mask("255.255.255.0")) self.assertEqual( Ip4Network("192.168.9.100/24")._address, Ip4Address("192.168.9.0")) self.assertEqual( Ip4Network("192.168.9.100/24")._mask, Ip4Mask("255.255.255.0")) self.assertEqual( Ip4Network("192.168.9.100/0")._address, Ip4Address("0.0.0.0")) self.assertEqual( Ip4Network("192.168.9.100/0")._mask, Ip4Mask("0.0.0.0")) self.assertRaises(Ip4NetworkFormatError, Ip4Network, "192.168.9.0//32") self.assertRaises(Ip4NetworkFormatError, Ip4Network, "192.168.9.0/321") self.assertRaises(Ip4NetworkFormatError, Ip4Network, "192.168.9.0")
def test___init__(self): self.assertEqual(Ip4Mask("255.255.255.0")._mask, 4294967040) self.assertEqual(Ip4Mask("/24")._mask, 4294967040) self.assertEqual(Ip4Mask(Ip4Mask("255.255.255.0"))._mask, 4294967040) self.assertEqual(Ip4Mask(b"\xff\xff\xff\x00")._mask, 4294967040) self.assertEqual( Ip4Mask(bytearray(b"\xff\xff\xff\x00"))._mask, 4294967040) self.assertEqual( Ip4Mask(memoryview(b"\xff\xff\xff\x00"))._mask, 4294967040) self.assertEqual(Ip4Mask(4294967040)._mask, 4294967040) self.assertRaises(Ip4MaskFormatError, Ip4Mask, "300.0.0.0") self.assertRaises(Ip4MaskFormatError, Ip4Mask, "255.255.0.1") self.assertRaises(Ip4MaskFormatError, Ip4Mask, "/33") self.assertRaises(Ip4MaskFormatError, Ip4Mask, "10/33") self.assertRaises(Ip4MaskFormatError, Ip4Mask, b"\xff\xff\xff") self.assertRaises(Ip4MaskFormatError, Ip4Mask, b"\xff\x00\xff\xff") self.assertRaises(Ip4MaskFormatError, Ip4Mask, b"\xff\xff\xff\xff\xff") self.assertRaises(Ip4MaskFormatError, Ip4Mask, 4294950913) self.assertRaises(Ip4MaskFormatError, Ip4Mask, -1) self.assertRaises(Ip4MaskFormatError, Ip4Mask, 4294967296) self.assertRaises(Ip4MaskFormatError, Ip4Mask, 8)
def test_mask(self): self.assertEqual( Ip4Network("192.168.9.0/24").mask, Ip4Mask("255.255.255.0"))
def test___hash__(self): self.assertEqual( hash(Ip4Network("10.0.0.0/8")), hash(Ip4Address("10.0.0.0")) ^ hash(Ip4Mask("255.0.0.0")))
def test_version(self): self.assertEqual(Ip4Mask("/0").version, 4)
def test___len__(self): for n in range(33): self.assertEqual(len(Ip4Mask(f"/{n}")), n)
def test___hash__(self): self.assertEqual(hash(Ip4Mask("/32")), hash(4294967295))
def test___eq__(self): self.assertEqual(Ip4Mask("255.255.255.240"), Ip4Mask("/28")) self.assertNotEqual(Ip4Mask("255.255.255.240"), Ip4Mask("/29"))
def test___int__(self): self.assertEqual(int(Ip4Mask("255.255.192.0")), 4294950912)
def test___bytes__(self): self.assertEqual(bytes(Ip4Mask("255.255.0.0")), b"\xff\xff\x00\x00")
def test___repr__(self): self.assertEqual(repr(Ip4Mask("/12")), "Ip4Mask('/12')")
def test___str__(self): self.assertEqual(str(Ip4Mask("255.255.240.0")), "/20")