test_wildcard.py
99 lines
| 2.9 KiB
| text/x-python
|
PythonLexer
/ test / test_wildcard.py
ville
|
r988 | # -*- coding: UTF-8 -*- | |
import sys, unittest | |||
sys.path.append ('..') | |||
from IPython import wildcard | |||
class obj_t(object): | |||
pass | |||
root=obj_t() | |||
l=["arna","abel","ABEL","active","bob","bark","abbot"] | |||
q=["kate","loop","arne","vito","lucifer","koppel"] | |||
for x in l: | |||
o=obj_t() | |||
setattr(root,x,o) | |||
for y in q: | |||
p=obj_t() | |||
setattr(o,y,p) | |||
root._apan=obj_t() | |||
root._apan.a=10 | |||
root._apan._a=20 | |||
root._apan.__a=20 | |||
root.__anka=obj_t() | |||
root.__anka.a=10 | |||
root.__anka._a=20 | |||
root.__anka.__a=20 | |||
root._APAN=obj_t() | |||
root._APAN.a=10 | |||
root._APAN._a=20 | |||
root._APAN.__a=20 | |||
root.__ANKA=obj_t() | |||
root.__ANKA.a=10 | |||
root.__ANKA._a=20 | |||
root.__ANKA.__a=20 | |||
class Tests (unittest.TestCase): | |||
def test_case(self): | |||
ns=root.__dict__ | |||
tests=[ | |||
("a*", ["abbot","abel","active","arna",]), | |||
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop",]), | |||
("_a*", []), | |||
("_*anka", ["__anka",]), | |||
("_*a*", ["__anka",]), | |||
] | |||
for pat,res in tests: | |||
res.sort() | |||
a=wildcard.list_namespace(ns,"all",pat,ignore_case=False,show_all=False).keys() | |||
a.sort() | |||
self.assertEqual(a,res) | |||
def test_case_showall(self): | |||
ns=root.__dict__ | |||
tests=[ | |||
("a*", ["abbot","abel","active","arna",]), | |||
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop",]), | |||
("_a*", ["_apan"]), | |||
("_*anka", ["__anka",]), | |||
("_*a*", ["__anka","_apan",]), | |||
] | |||
for pat,res in tests: | |||
res.sort() | |||
a=wildcard.list_namespace(ns,"all",pat,ignore_case=False,show_all=True).keys() | |||
a.sort() | |||
self.assertEqual(a,res) | |||
def test_nocase(self): | |||
ns=root.__dict__ | |||
tests=[ | |||
("a*", ["abbot","abel","ABEL","active","arna",]), | |||
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop","ABEL.koppel","ABEL.loop",]), | |||
("_a*", []), | |||
("_*anka", ["__anka","__ANKA",]), | |||
("_*a*", ["__anka","__ANKA",]), | |||
] | |||
for pat,res in tests: | |||
res.sort() | |||
a=wildcard.list_namespace(ns,"all",pat,ignore_case=True,show_all=False).keys() | |||
a.sort() | |||
self.assertEqual(a,res) | |||
def test_nocase_showall(self): | |||
ns=root.__dict__ | |||
tests=[ | |||
("a*", ["abbot","abel","ABEL","active","arna",]), | |||
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop","ABEL.koppel","ABEL.loop",]), | |||
("_a*", ["_apan","_APAN"]), | |||
("_*anka", ["__anka","__ANKA",]), | |||
("_*a*", ["__anka","__ANKA","_apan","_APAN"]), | |||
] | |||
for pat,res in tests: | |||
res.sort() | |||
a=wildcard.list_namespace(ns,"all",pat,ignore_case=True,show_all=True).keys() | |||
a.sort() | |||
self.assertEqual(a,res) | |||
if __name__ == '__main__': | |||
unittest.main() |