Skip to content

Commit 895b1db

Browse files
committed
tests/basics: Split out memoryview slice-assign tests to separate file.
Signed-off-by: Damien George <[email protected]>
1 parent f80b1d8 commit 895b1db

File tree

2 files changed

+63
-48
lines changed

2 files changed

+63
-48
lines changed

tests/basics/memoryview1.py

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -54,54 +54,6 @@
5454
m[2] = 6
5555
print(a)
5656

57-
# test slice assignment between memoryviews
58-
b1 = bytearray(b'1234')
59-
b2 = bytearray(b'5678')
60-
b3 = bytearray(b'5678')
61-
m1 = memoryview(b1)
62-
m2 = memoryview(b2)
63-
m3 = memoryview(b3)
64-
m2[1:3] = m1[0:2]
65-
print(b2)
66-
b3[1:3] = m1[0:2]
67-
print(b3)
68-
m1[2:4] = b3[1:3]
69-
print(b1)
70-
71-
try:
72-
m2[1:3] = b1[0:4]
73-
except ValueError:
74-
print("ValueError")
75-
76-
try:
77-
m2[1:3] = m1[0:4]
78-
except ValueError:
79-
print("ValueError")
80-
81-
try:
82-
m2[0:4] = m1[1:3]
83-
except ValueError:
84-
print("ValueError")
85-
86-
# test memoryview of arrays with items sized larger than 1
87-
a1 = array.array('i', [0]*5)
88-
m4 = memoryview(a1)
89-
a2 = array.array('i', [3]*5)
90-
m5 = memoryview(a2)
91-
m4[1:3] = m5[1:3]
92-
print(a1)
93-
94-
try:
95-
m4[1:3] = m2[1:3]
96-
except ValueError:
97-
print("ValueError")
98-
99-
# invalid assignment on RHS
100-
try:
101-
memoryview(array.array('i'))[0:2] = b'1234'
102-
except ValueError:
103-
print('ValueError')
104-
10557
# invalid attribute
10658
try:
10759
memoryview(b'a').noexist
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# test slice assignment to memoryview
2+
3+
try:
4+
memoryview(bytearray(1))[:] = memoryview(bytearray(1))
5+
except (NameError, TypeError):
6+
print("SKIP")
7+
raise SystemExit
8+
9+
try:
10+
import uarray as array
11+
except ImportError:
12+
try:
13+
import array
14+
except ImportError:
15+
print("SKIP")
16+
raise SystemExit
17+
18+
# test slice assignment between memoryviews
19+
b1 = bytearray(b'1234')
20+
b2 = bytearray(b'5678')
21+
b3 = bytearray(b'5678')
22+
m1 = memoryview(b1)
23+
m2 = memoryview(b2)
24+
m3 = memoryview(b3)
25+
m2[1:3] = m1[0:2]
26+
print(b2)
27+
b3[1:3] = m1[0:2]
28+
print(b3)
29+
m1[2:4] = b3[1:3]
30+
print(b1)
31+
32+
# invalid slice assignments
33+
try:
34+
m2[1:3] = b1[0:4]
35+
except ValueError:
36+
print("ValueError")
37+
try:
38+
m2[1:3] = m1[0:4]
39+
except ValueError:
40+
print("ValueError")
41+
try:
42+
m2[0:4] = m1[1:3]
43+
except ValueError:
44+
print("ValueError")
45+
46+
# test memoryview of arrays with items sized larger than 1
47+
a1 = array.array('i', [0]*5)
48+
m4 = memoryview(a1)
49+
a2 = array.array('i', [3]*5)
50+
m5 = memoryview(a2)
51+
m4[1:3] = m5[1:3]
52+
print(a1)
53+
54+
try:
55+
m4[1:3] = m2[1:3]
56+
except ValueError:
57+
print("ValueError")
58+
59+
# invalid assignment on RHS
60+
try:
61+
memoryview(array.array('i'))[0:2] = b'1234'
62+
except ValueError:
63+
print('ValueError')

0 commit comments

Comments
 (0)