-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path1-my_list.txt
110 lines (93 loc) · 2.37 KB
/
1-my_list.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# 1. My list
# Run: python3 -m doctest -v ./tests/1-my_list.txt
Import function from the module
>>> MyList = __import__('1-my_list').MyList
>>>
Example Test:
>>> my_list = MyList()
>>> my_list.append(1)
>>> my_list.append(4)
>>> my_list.append(2)
>>> my_list.append(3)
>>> my_list.append(5)
>>> print(my_list)
[1, 4, 2, 3, 5]
>>> my_list.print_sorted()
[1, 2, 3, 4, 5]
>>> print(my_list)
[1, 4, 2, 3, 5]
>>>
Passing udefined objects:
>>> my_list2.print_sorted()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'my_list2' is not defined
>>>
Passing a list:
>>> lst = [7, 2, 5]
>>> my_list = MyList(lst)
>>> my_list.print_sorted()
[2, 5, 7]
>>>
Passing an empty list:
>>> elst = []
>>> my_list = MyList(elst)
>>> my_list.print_sorted()
[]
>>>
Pass only one number:
>>> my_list = MyList()
>>> my_list.append(13)
>>> my_list.print_sorted()
[13]
>>> print(my_list)
[13]
>>>
Pass same number multiple times to sort:
>>> my_list2 = MyList()
>>> my_list2.append(13)
>>> my_list2.append(13)
>>> my_list2.append(13)
>>> my_list2.append(13)
>>> my_list2.print_sorted()
[13, 13, 13, 13]
>>>
Passing a list as the parent object:
>>> my_list = [56, 8, 98]
>>> my_list.print_sorted()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'print_sorted'
>>>
Passing negative numbers:
>>> MyList = __import__('1-my_list').MyList
>>> my_list = MyList()
>>> my_list.append(89)
>>> my_list.append(17)
>>> my_list.append(-12)
>>> my_list.append(76)
>>> my_list.append(-13)
>>> my_list.print_sorted()
[-13, -12, 17, 76, 89]
>>>
Test Boolean:
>>> l = MyList()
>>> l.append(-200)
>>> l.append(200)
>>> l.append(-3)
>>> print(l)
[-200, 200, -3]
>>> id(l) is not id(l.print_sorted())
[-200, -3, 200]
True
Test type, isinstance and issubclass:
>>> type(MyList())
<class '1-my_list.MyList'>
>>> isinstance(MyList, object)
True
>>> isinstance(MyList, list)
False
>>> issubclass(MyList, list)
True
>>> 'print_sorted' in dir(MyList)
True