~ubuntu-branches/ubuntu/trusty/cython/trusty-proposed

« back to all changes in this revision

Viewing changes to tests/run/delete.pyx

  • Committer: Bazaar Package Importer
  • Author(s): Yaroslav Halchenko
  • Date: 2011-02-13 09:41:12 UTC
  • mfrom: (1.4.1 upstream) (9.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20110213094112-0vg8c1a2stwuufnn
Tags: 0.14.1-1
* Reincarnating uploads to unstable
* Fresh upstream release
* debian/control: added python-dev into Suggests (Closes: #545809)
* Standards-Version bumped to 3.9.1 (no change needed)
* Use help2man to generate a reasonable manpage (Closes: #607098)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
"""
2
 
>>> a = A()
3
 
>>> a.f()
4
 
[2, 1]
5
 
>>> a.g()
6
 
(False, True)
7
 
>>> del_item({1: 'a', 2: 'b'}, 1)
8
 
{2: 'b'}
9
 
>>> del_item(list(range(10)), 2)
10
 
[0, 1, 3, 4, 5, 6, 7, 8, 9]
11
 
 
12
 
>>> del_dict({1: 'a', 2: 'b'}, 1)
13
 
{2: 'b'}
14
 
>>> del_list(list(range(5)), 3)
15
 
[0, 1, 2, 4]
16
 
>>> del_int(list(range(5)), 3)
17
 
[0, 1, 2, 4]
18
 
>>> del_list_int(list(range(5)), 3)
19
 
[0, 1, 2, 4]
20
 
>>> del_int({-1: 'neg', 1: 'pos'}, -1)
21
 
{1: 'pos'}
22
 
"""
23
 
 
24
 
class A:
 
1
 
 
2
class A(object):
 
3
    """
 
4
    >>> a = A()
 
5
    >>> a.f()
 
6
    [2, 1]
 
7
    >>> a.g()
 
8
    (False, True)
 
9
    """
25
10
    def f(self):
26
11
        self.refs = [3,2,1]
27
12
        del self.refs[0]
33
18
        return (hasattr(self, u"a"), hasattr(self, u"g"))
34
19
 
35
20
def del_item(L, o):
 
21
    """
 
22
    >>> del_item({1: 'a', 2: 'b'}, 1)
 
23
    {2: 'b'}
 
24
    >>> del_item(list(range(10)), 2)
 
25
    [0, 1, 3, 4, 5, 6, 7, 8, 9]
 
26
    """
36
27
    del L[o]
37
28
    return L
38
29
 
39
30
def del_dict(dict D, o):
 
31
    """
 
32
    >>> del_dict({1: 'a', 2: 'b'}, 1)
 
33
    {2: 'b'}
 
34
    """
40
35
    del D[o]
41
36
    return D
42
37
 
43
38
def del_list(list L, o):
 
39
    """
 
40
    >>> del_list(list(range(5)), 3)
 
41
    [0, 1, 2, 4]
 
42
    """
44
43
    del L[o]
45
44
    return L
46
45
 
47
46
def del_int(L, int i):
 
47
    """
 
48
    >>> del_int(list(range(5)), 3)
 
49
    [0, 1, 2, 4]
 
50
    >>> del_int({-1: 'neg', 1: 'pos'}, -1)
 
51
    {1: 'pos'}
 
52
    """
48
53
    del L[i]
49
54
    return L
50
55
 
51
56
def del_list_int(L, int i):
 
57
    """
 
58
    >>> del_list_int(list(range(5)), 3)
 
59
    [0, 1, 2, 4]
 
60
    """
52
61
    del L[i]
53
62
    return L
 
63
 
 
64
def del_temp_slice(a):
 
65
    """
 
66
    >>> class A(object):
 
67
    ...     attr = [1,2,3]
 
68
    >>> a = A()
 
69
    >>> a.attr
 
70
    [1, 2, 3]
 
71
    >>> del_temp_slice(a)
 
72
    []
 
73
    >>> a.attr
 
74
    []
 
75
    >>> del_temp_slice(a)
 
76
    []
 
77
    >>> a.attr
 
78
    []
 
79
    """
 
80
    while a.attr:
 
81
        del a.attr[:]
 
82
    return a.attr