summaryrefslogtreecommitdiffstats
path: root/ipalib/tests/test_plugable.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-18 20:48:55 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-18 20:48:55 +0000
commit5ab45385dbdfdd3e5610f2751b5aeabbc244d446 (patch)
tree28f3b62b45b96be409af6bbc0600d89793903a5c /ipalib/tests/test_plugable.py
parent84a721d408c307add34440b7a68a9c7a858c52e3 (diff)
downloadfreeipa.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.py27
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)