]> granicus.if.org Git - python/commitdiff
Add tests for array self-assigns. (This one has no relevance to JPython.)
authorGuido van Rossum <guido@python.org>
Thu, 16 Jul 1998 15:31:43 +0000 (15:31 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 16 Jul 1998 15:31:43 +0000 (15:31 +0000)
Lib/test/test_array.py

index 6a0d17c3c2ac3bc2d46d7cc9f5b92a046211c7bf..1e0f1beaf8f6b0c05cc174d261ffed680df25306 100755 (executable)
@@ -3,7 +3,7 @@
    Roger E. Masse
 """
 import array
-from test_support import verbose, TESTFN, unlink
+from test_support import verbose, TESTFN, unlink, TestFailed
 
 def main():
 
@@ -54,6 +54,33 @@ def testtype(type, example):
             print 'array of %s converted to a string: ' \
                    % a.typecode, `a.tostring()`
 
+        if type == 'c':
+            a = array.array(type, "abcde")
+            a[:-1] = a
+            if a != array.array(type, "abcdee"):
+                raise TestFailed, "array(%s) self-slice-assign (head)" % `type`
+            a = array.array(type, "abcde")
+            a[1:] = a
+            if a != array.array(type, "aabcde"):
+                raise TestFailed, "array(%s) self-slice-assign (tail)" % `type`
+            a = array.array(type, "abcde")
+            a[1:-1] = a
+            if a != array.array(type, "aabcdee"):
+                raise TestFailed, "array(%s) self-slice-assign (cntr)" % `type`
+        else:
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[:-1] = a
+            if a != array.array(type, [1, 2, 3, 4, 5, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (head)" % `type`
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[1:] = a
+            if a != array.array(type, [1, 1, 2, 3, 4, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (tail)" % `type`
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[1:-1] = a
+            if a != array.array(type, [1, 1, 2, 3, 4, 5, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (cntr)" % `type`
+
 
 main()