1def test_get_char_neg():
2    """
3    >>> test_get_char_neg()
4    0
5    """
6    cdef char key = -1
7    if <char>-1 < 0:
8        d = {-1:0}
9    else:
10        d = {255:0}
11    return d[key]
12def test_get_char_zero():
13    """
14    >>> test_get_char_zero()
15    1
16    """
17    cdef char key = 0
18    d = {0:1}
19    return d[key]
20def test_get_char_pos():
21    """
22    >>> test_get_char_pos()
23    2
24    """
25    cdef char key = 1
26    d = {1:2}
27    return d[key]
28
29
30def test_get_uchar_zero():
31    """
32    >>> test_get_uchar_zero()
33    1
34    """
35    cdef unsigned char key = 0
36    d = {0:1}
37    return d[key]
38def test_get_uchar_pos():
39    """
40    >>> test_get_uchar_pos()
41    2
42    """
43    cdef unsigned char key = 1
44    d = {1:2}
45    return d[key]
46
47
48def test_get_int_neg():
49    """
50    >>> test_get_int_neg()
51    0
52    """
53    cdef int key = -1
54    d = {-1:0}
55    return d[key]
56def test_get_int_zero():
57    """
58    >>> test_get_int_zero()
59    1
60    """
61    cdef int key = 0
62    d = {0:1}
63    return d[key]
64def test_get_int_pos():
65    """
66    >>> test_get_int_pos()
67    2
68    """
69    cdef int key = 1
70    d = {1:2}
71    return d[key]
72
73
74def test_get_uint_zero():
75    """
76    >>> test_get_uint_zero()
77    1
78    """
79    cdef unsigned int key = 0
80    d = {0:1}
81    return d[key]
82def test_get_uint_pos():
83    """
84    >>> test_get_uint_pos()
85    2
86    """
87    cdef unsigned int key = 1
88    d = {1:2}
89    return d[key]
90
91
92def test_get_longlong_neg():
93    """
94    >>> test_get_longlong_neg()
95    0
96    """
97    cdef long long key = -1
98    d = {-1:0}
99    return d[key]
100def test_get_longlong_zero():
101    """
102    >>> test_get_longlong_zero()
103    1
104    """
105    cdef long long key = 0
106    d = {0:1}
107    return d[key]
108def test_get_longlong_pos():
109    """
110    >>> test_get_longlong_pos()
111    2
112    """
113    cdef long long key = 1
114    d = {1:2}
115    return d[key]
116def test_get_longlong_big():
117    """
118    >>> test_get_longlong_big()
119    3
120    """
121    cdef unsigned int shift = sizeof(long)+2
122    cdef long long big = 1
123    cdef long long key = big<<shift
124    d = {big<<shift:3}
125    return d[key]
126
127def test_get_ulonglong_zero():
128    """
129    >>> test_get_ulonglong_zero()
130    1
131    """
132    cdef unsigned long long key = 0
133    d = {0:1}
134    return d[key]
135def test_get_ulonglong_pos():
136    """
137    >>> test_get_ulonglong_pos()
138    2
139    """
140    cdef unsigned long long key = 1
141    d = {1:2}
142    return d[key]
143def test_get_ulonglong_big():
144    """
145    >>> test_get_ulonglong_big()
146    3
147    """
148    cdef unsigned int shift = sizeof(long)+2
149    cdef unsigned long long big = 1
150    cdef unsigned long long key = big<<shift
151    d = {big<<shift:3}
152    return d[key]
153
154
155def test_del_char():
156    """
157    >>> test_del_char()
158    Traceback (most recent call last):
159    KeyError: 0
160    """
161    cdef char key = 0
162    d = {0:1}
163    del d[key]
164    return d[key]
165
166def test_del_uchar():
167    """
168    >>> test_del_uchar()
169    Traceback (most recent call last):
170    KeyError: 0
171    """
172    cdef unsigned char key = 0
173    d = {0:1}
174    del d[key]
175    return d[key]
176
177def test_del_int():
178    """
179    >>> test_del_int()
180    Traceback (most recent call last):
181    KeyError: 0
182    """
183    cdef int key = 0
184    d = {0:1}
185    del d[key]
186    return d[key]
187
188def test_del_uint():
189    """
190    >>> test_del_uint()  #doctest: +ELLIPSIS
191    Traceback (most recent call last):
192    KeyError: 0...
193    """
194    cdef unsigned int key = 0
195    d = {0:1}
196    del d[key]
197    return d[key]
198
199def test_del_longlong():
200    """
201    >>> test_del_longlong() #doctest: +ELLIPSIS
202    Traceback (most recent call last):
203    KeyError: 0...
204    """
205    cdef long long key = 0
206    d = {0:1}
207    del d[key]
208    return d[key]
209
210def test_del_ulonglong():
211    """
212    >>> test_del_ulonglong() #doctest: +ELLIPSIS
213    Traceback (most recent call last):
214    KeyError: 0...
215    """
216    cdef unsigned long long key = 0
217    d = {0:1}
218    del d[key]
219    return d[key]
220
221def test_del_longlong_big():
222    """
223    >>> test_del_longlong_big() #doctest: +ELLIPSIS
224    Traceback (most recent call last):
225    KeyError: ...
226    """
227    cdef int shift = sizeof(long)+2
228    cdef long long big = 1
229    cdef long long key = big<<shift
230    d = {big<<shift:1}
231    del d[key]
232    return d[key]
233
234def test_del_ulonglong_big():
235    """
236    >>> test_del_ulonglong_big() #doctest: +ELLIPSIS
237    Traceback (most recent call last):
238    KeyError: ...
239    """
240    cdef unsigned int shift = sizeof(long)+2
241    cdef unsigned long long big = 1
242    cdef unsigned long long key = big<<shift
243    d = {big<<shift:1}
244    del d[key]
245    return d[key]
246