1# test builtin dir
2
3# dir of locals
4print('__name__' in dir())
5
6# dir of module
7try:
8    import usys as sys
9except ImportError:
10    import sys
11print('version' in dir(sys))
12
13# dir of type
14print('append' in dir(list))
15
16class Foo:
17    def __init__(self):
18        self.x = 1
19foo = Foo()
20print('__init__' in dir(foo))
21print('x' in dir(foo))
22
23# dir of subclass
24class A:
25    def a():
26        pass
27class B(A):
28    def b():
29        pass
30d = dir(B())
31print(d.count('a'), d.count('b'))
32
33# dir of class with multiple bases and a common parent
34class C(A):
35    def c():
36        pass
37class D(B, C):
38    def d():
39        pass
40d = dir(D())
41print(d.count('a'), d.count('b'), d.count('c'), d.count('d'))
42