def test_identity_equality(): a = Identity(b'\x01\x02\x03') b = Identity(b'\x01\x02\x03') c = Identity(b'\x01\x02\x04') assert a == a assert a == b assert a != c assert not a != a assert not a != b assert not a == c
def from_row(cls, row): category, subcategory = parse_device_categories(bytes(row[3:5])) return cls( identity=Identity.from_string(row[0]), alias=row[1], description=row[2], category=category, subcategory=subcategory, firmware_version=row[5], )
def test_identity_parse_invalid(): with pytest.raises(ValueError): Identity.from_string('aB.cD') with pytest.raises(ValueError): Identity.from_string('aB.cD.ge') with pytest.raises(ValueError): Identity.from_string('ffffff')
def test_set_device(): database = Database.load_from_file(':memory:') identity = Identity(b'\x01\x02\x03') database_device = DatabaseDevice( identity=identity, alias='foo', description='', category=GenericDeviceCategory(0x42), subcategory=GenericSubcategory(0x80), firmware_version=0x99, ) database.set_device(*database_device) assert database.get_device(identity) == database_device assert database.get_device_by_alias('foo') == database_device
def test_identity_str(): ident = Identity(b'\x01\x02\x03') assert str(ident) == '01.02.03'
def test_identity_repr(): ident = Identity(b'\x01\x02\x03') assert repr(ident) == repr(b'\x01\x02\x03')
def test_identity_as_bytes(): ident = Identity(b'\x01\x02\x03') assert bytes(ident) == b'\x01\x02\x03'
def test_identity_invalid_id(): with pytest.raises(ValueError): Identity(b'') with pytest.raises(ValueError): Identity(b'\x01\x02\x03\x04')
def test_identity_parse(): assert Identity.from_string('aB.cD.04') == Identity(b'\xab\xcd\x04')
def test_get_device_non_existing(): database = Database.load_from_file(':memory:') assert database.get_device(Identity(b'\x01\x02\x03')) is None