Override keys() with a function, not an attribute
By mistake keys function has been overriden by a value. Change-Id: I713bddcfb66c4835d477972ece7e0983d263377f Closes-Bug: #1666913
This commit is contained in:
parent
9dabe06369
commit
b8e2606daf
|
@ -103,3 +103,9 @@ f: 6"""
|
|||
def test_repr(self):
|
||||
d = UnionDict(self.D1, self.D2, self.D3)
|
||||
self.assertEquals(eval(repr(d)), self.D)
|
||||
|
||||
def test_keys(self):
|
||||
ud = UnionDict({'a': 1, 'b': 2, 'c': 3},
|
||||
{'b': 2, 'c': 3, 'd': 4},
|
||||
{'e': 5})
|
||||
self.assertEquals(ud.keys(), {'a', 'b', 'c', 'd', 'e'})
|
||||
|
|
|
@ -31,7 +31,7 @@ class UnionDict(collections.Mapping):
|
|||
|
||||
self.dicts = list(dicts)
|
||||
self.dicts.reverse()
|
||||
self.keys = set(itertools.chain.from_iterable(dicts))
|
||||
self.keys = lambda: set(itertools.chain.from_iterable(dicts))
|
||||
|
||||
def __getitem__(self, key):
|
||||
values = []
|
||||
|
@ -54,10 +54,10 @@ class UnionDict(collections.Mapping):
|
|||
return UnionDict(*values)
|
||||
|
||||
def __iter__(self):
|
||||
return iter(self.keys)
|
||||
return iter(self.keys())
|
||||
|
||||
def __len__(self):
|
||||
return len(self.keys)
|
||||
return len(self.keys())
|
||||
|
||||
def __repr__(self):
|
||||
items = ['{!r}: {!r}'.format(k, v) for k, v in self.items()]
|
||||
|
|
Loading…
Reference in New Issue