##// END OF EJS Templates
install mathjax to profile by default, instead of IPython tree...
install mathjax to profile by default, instead of IPython tree The destination is now configurable, and the default no longer requires admin access. Also defaults to current mathjax 2.0

File last commit:

r6310:1ff2bdd6
r7948:f374909a
Show More
test_dir2.py
52 lines | 1.1 KiB | text/x-python | PythonLexer
import nose.tools as nt
from IPython.utils.dir2 import dir2
class Base(object):
x = 1
z = 23
def test_base():
res = dir2(Base())
assert ('x' in res)
assert ('z' in res)
assert ('y' not in res)
assert ('__class__' in res)
nt.assert_equal(res.count('x'), 1)
nt.assert_equal(res.count('__class__'), 1)
def test_SubClass():
class SubClass(Base):
y = 2
res = dir2(SubClass())
assert ('y' in res)
nt.assert_equal(res.count('y'), 1)
nt.assert_equal(res.count('x'), 1)
def test_SubClass_with_trait_names_method():
class SubClass(Base):
y = 2
def trait_names(self):
return ['t', 'umbrella']
res = dir2(SubClass())
assert('trait_names' in res)
assert('umbrella' in res)
nt.assert_equal(res[-6:], ['t', 'trait_names','umbrella', 'x','y','z'])
nt.assert_equal(res.count('t'), 1)
def test_SubClass_with_trait_names_attr():
# usecase: trait_names is used in a class describing psychological classification
class SubClass(Base):
y = 2
trait_names = 44
res = dir2(SubClass())
assert('trait_names' in res)