add two more problems to test 199 (reported by francesco frassinelli)
[shedskin:mainline.git] / tests / 199.py
1 # code generator crashes, skips call
2 def streams(archive):
3     archive.seek(4) # Skip magic number
4     print 'zoek', archive.tell()
5     stream = ''
6     yield stream
7
8 def decompressor(archive):
9     for stream in streams(archive):
10         pass
11  
12 if __name__ == '__main__':
13     decompressor(open('testdata/binas', 'rb'))
14
15 # set.__ior__ etc. model
16 class waf:
17     def __init__(self, value):
18         self.value = value
19
20     def __iand__(self, b):
21         return waf(self.value + b.value)
22
23     def __isub__(self, b):
24         return waf(self.value - b.value)
25
26 wa = waf(4)
27 wa &= waf(9)
28 wa -= waf(2)
29 print wa.value
30
31 set1 = set()
32 set1 |= set([2,3])
33 print set1
34
35 set2 = set()
36 set2 &= set([2,3])
37 print set2
38
39 set3 = set()
40 set3 ^= set([2,3])
41 print set3
42
43 set4 = set()
44 set4 -= set([2,3])
45 print set4
46
47 # overflow in pow, use long long internally
48 print pow(290797,2,50515093)
49
50 # float.is_integer
51 print 7.7.is_integer()
52 print 7.0.is_integer()
53 a = 3.14
54 print a.is_integer(), (a+a).is_integer()
55 print 2*a.is_integer()
56
57 # model __eq__ from __contains__
58 class Point:
59     def __init__(self, x, y):
60         self.x, self.y = x, y
61     def __eq__(self, other):
62         return (self.x, self.y) == (other.x, other.y)
63     def __str__(self):
64         return 'Point(%s, %s)' % (self.x, self.y)
65
66 def wof():
67     a = b = c = d = Point(7,8)
68     p = Point(7,8)
69     return p if p not in (a, b, c, d) else None
70
71 print wof()
72
73 # context of inherited method
74 import testdata.CCMView
75
76 class GameView(testdata.CCMView.CCMView):
77     pass
78
79 gv = GameView()
80 gv.wa()
81