forked from ipython/ipython
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added test_dir2 for the dir2 (bonus) tests
Signed-off-by: Tim Couper <drtimcouper@gmail.com>
- Loading branch information
1 parent
cf95840
commit e1b3c3d
Showing
3 changed files
with
54 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
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'), 2) # duplicates | ||
nt.assert_equal(res.count('__class__'), 4) # duplicates | ||
|
||
def test_SubClass(): | ||
|
||
class SubClass(Base): | ||
y = 2 | ||
|
||
res = dir2(SubClass()) | ||
assert ('y' in res) | ||
nt.assert_equal(res.count('y'), 2) # duplicates, | ||
nt.assert_equal(res.count('x'), 3) # duplicates, but fewer than above! | ||
|
||
|
||
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.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) |