def testDelValue(self): # Level 1: Deleting a value from NamespaceVAlue nv = NamespaceValue() nv.SetValueWithFlags(('alpha',), 'ALPHA') nv.SetValueWithFlags(('bravo',), 'BRAVO') assert nv.GetValueWithFlags(('alpha',)) == 'ALPHA' assert nv.GetValueWithFlags(('bravo',)) == 'BRAVO' nv.DelValueWithFlags(('alpha',)) assert nv.GetValueWithFlags(('alpha',)) is None assert nv.GetValueWithFlags(('bravo',)) == 'BRAVO' # Level 2: Deleting a value from the namespace. n = Namespace() n[':alpha'] = 'ALPHA' n[':bravo'] = 'BRAVO' n[':charlie'] = 'CHARLIE' n['var'] = 'value' n['alpha:var'] = 'value-alpha' n['bravo:var'] = 'value-bravo' assert n['var'] == 'value' assert n['alpha:var'] == 'value-alpha' assert n['bravo:var'] == 'value-bravo' assert n['charlie:var'] == 'value' del n['alpha:var'] assert n['var'] == 'value' assert n['alpha:var'] == 'value' assert n['bravo:var'] == 'value-bravo' assert n['charlie:var'] == 'value' n.ClearValue('var') with pytest.raises(NamespaceKeyError): n.__getitem__('var') with pytest.raises(NamespaceKeyError): n.__getitem__('alpha:var') with pytest.raises(NamespaceKeyError): n.__getitem__('bravo:var') with pytest.raises(NamespaceKeyError): n.__getitem__('bravo:var') with pytest.raises(NamespaceKeyError): n.__getitem__('charlie:var')