diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-09-18 20:48:55 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-09-18 20:48:55 +0000 |
commit | 5ab45385dbdfdd3e5610f2751b5aeabbc244d446 (patch) | |
tree | 28f3b62b45b96be409af6bbc0600d89793903a5c /ipalib/tests/test_plugable.py | |
parent | 84a721d408c307add34440b7a68a9c7a858c52e3 (diff) | |
download | freeipa.git-5ab45385dbdfdd3e5610f2751b5aeabbc244d446.tar.gz freeipa.git-5ab45385dbdfdd3e5610f2751b5aeabbc244d446.tar.xz freeipa.git-5ab45385dbdfdd3e5610f2751b5aeabbc244d446.zip |
295: Updated NameSpace unit tests to test NameSpace.__getitem__() with int and slice
Diffstat (limited to 'ipalib/tests/test_plugable.py')
-rw-r--r-- | ipalib/tests/test_plugable.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/ipalib/tests/test_plugable.py b/ipalib/tests/test_plugable.py index b4461dee..52665cc6 100644 --- a/ipalib/tests/test_plugable.py +++ b/ipalib/tests/test_plugable.py @@ -580,9 +580,13 @@ class test_NameSpace(ClassChecker): assert list(o()) == [] for cnt in (10, 25): members = tuple(DummyMember(cnt - i) for i in xrange(cnt)) - names = tuple(m.name for m in members) for sort in (True, False): o = self.cls(members, sort=sort) + if sort: + ordered = tuple(sorted(members, key=lambda m: m.name)) + else: + ordered = members + names = tuple(m.name for m in ordered) # Test __len__: assert len(o) == cnt @@ -593,21 +597,24 @@ class test_NameSpace(ClassChecker): assert ('member_00') not in o # Test __iter__, __call__: - if sort: - assert tuple(o) == tuple(sorted(names)) - assert tuple(o()) == tuple( - sorted(members, key=lambda m: m.name) - ) - else: - assert tuple(o) == names - assert tuple(o()) == members + assert tuple(o) == names + assert tuple(o()) == ordered # Test __getitem__, getattr: - for member in members: + for (i, member) in enumerate(ordered): + assert o[i] is member name = member.name assert o[name] is member assert read_only(o, name) is member + # Test negative indexes: + for i in xrange(1, cnt + 1): + assert o[-i] is ordered[-i] + + # Test slices: + assert o[2:cnt-5] == ordered[2:cnt-5] + assert o[::3] == ordered[::3] + # Test __repr__: assert repr(o) == \ 'NameSpace(<%d members>, sort=%r)' % (cnt, sort) |