mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-07-05 23:42:35 +00:00
first commit
This commit is contained in:
143
.venv/Lib/site-packages/IPython/utils/tests/test_wildcard.py
Normal file
143
.venv/Lib/site-packages/IPython/utils/tests/test_wildcard.py
Normal file
@ -0,0 +1,143 @@
|
||||
"""Some tests for the wildcard utilities."""
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Library imports
|
||||
#-----------------------------------------------------------------------------
|
||||
# Stdlib
|
||||
import unittest
|
||||
|
||||
# Our own
|
||||
from IPython.utils import wildcard
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Globals for test
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Test cases
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
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=sorted(wildcard.list_namespace(ns,"all",pat,ignore_case=False,
|
||||
show_all=False).keys())
|
||||
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=sorted(wildcard.list_namespace(ns,"all",pat,ignore_case=False,
|
||||
show_all=True).keys())
|
||||
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=sorted(wildcard.list_namespace(ns,"all",pat,ignore_case=True,
|
||||
show_all=False).keys())
|
||||
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=sorted(wildcard.list_namespace(ns,"all",pat,ignore_case=True,
|
||||
show_all=True).keys())
|
||||
a.sort()
|
||||
self.assertEqual(a,res)
|
||||
|
||||
def test_dict_attributes(self):
|
||||
"""Dictionaries should be indexed by attributes, not by keys. This was
|
||||
causing Github issue 129."""
|
||||
ns = {"az":{"king":55}, "pq":{1:0}}
|
||||
tests = [
|
||||
("a*", ["az"]),
|
||||
("az.k*", ["az.keys"]),
|
||||
("pq.k*", ["pq.keys"])
|
||||
]
|
||||
for pat, res in tests:
|
||||
res.sort()
|
||||
a = sorted(wildcard.list_namespace(ns, "all", pat, ignore_case=False,
|
||||
show_all=True).keys())
|
||||
self.assertEqual(a, res)
|
||||
|
||||
def test_dict_dir(self):
|
||||
class A(object):
|
||||
def __init__(self):
|
||||
self.a = 1
|
||||
self.b = 2
|
||||
def __getattribute__(self, name):
|
||||
if name=="a":
|
||||
raise AttributeError
|
||||
return object.__getattribute__(self, name)
|
||||
|
||||
a = A()
|
||||
adict = wildcard.dict_dir(a)
|
||||
assert "a" not in adict # change to assertNotIn method in >= 2.7
|
||||
self.assertEqual(adict["b"], 2)
|
Reference in New Issue
Block a user