Lines Matching refs:self

15     def __init__(self, num):
16 self._num = num
17 def __index__(self):
18 return self._num
23 def testInit(self):
24 buf = self.buftype("1234567890")
25 bytesIo = self.ioclass(buf)
27 def testRead(self):
28 buf = self.buftype("1234567890")
29 bytesIo = self.ioclass(buf)
31 self.assertEqual(buf[:1], bytesIo.read(1))
32 self.assertEqual(buf[1:5], bytesIo.read(4))
33 self.assertEqual(buf[5:], bytesIo.read(900))
34 self.assertEqual(self.EOF, bytesIo.read())
36 def testReadNoArgs(self):
37 buf = self.buftype("1234567890")
38 bytesIo = self.ioclass(buf)
40 self.assertEqual(buf, bytesIo.read())
41 self.assertEqual(self.EOF, bytesIo.read())
43 def testSeek(self):
44 buf = self.buftype("1234567890")
45 bytesIo = self.ioclass(buf)
49 self.assertEqual(buf, bytesIo.read())
52 self.assertEqual(buf[3:], bytesIo.read())
53 self.assertRaises(TypeError, bytesIo.seek, 0.0)
55 def testTell(self):
56 buf = self.buftype("1234567890")
57 bytesIo = self.ioclass(buf)
59 self.assertEqual(0, bytesIo.tell())
61 self.assertEqual(5, bytesIo.tell())
63 self.assertEqual(10000, bytesIo.tell())
68 def test_detach(self):
69 buf = self.ioclass()
70 self.assertRaises(self.UnsupportedOperation, buf.detach)
72 def write_ops(self, f, t):
73 self.assertEqual(f.write(t("blah.")), 5)
74 self.assertEqual(f.seek(0), 0)
75 self.assertEqual(f.write(t("Hello.")), 6)
76 self.assertEqual(f.tell(), 6)
77 self.assertEqual(f.seek(5), 5)
78 self.assertEqual(f.tell(), 5)
79 self.assertEqual(f.write(t(" world\n\n\n")), 9)
80 self.assertEqual(f.seek(0), 0)
81 self.assertEqual(f.write(t("h")), 1)
82 self.assertEqual(f.truncate(12), 12)
83 self.assertEqual(f.tell(), 1)
85 def test_write(self):
86 buf = self.buftype("hello world\n")
87 memio = self.ioclass(buf)
89 self.write_ops(memio, self.buftype)
90 self.assertEqual(memio.getvalue(), buf)
91 memio = self.ioclass()
92 self.write_ops(memio, self.buftype)
93 self.assertEqual(memio.getvalue(), buf)
94 self.assertRaises(TypeError, memio.write, None)
96 self.assertRaises(ValueError, memio.write, self.buftype(""))
98 def test_writelines(self):
99 buf = self.buftype("1234567890")
100 memio = self.ioclass()
102 self.assertEqual(memio.writelines([buf] * 100), None)
103 self.assertEqual(memio.getvalue(), buf * 100)
105 self.assertEqual(memio.getvalue(), buf * 100)
106 memio = self.ioclass()
107 self.assertRaises(TypeError, memio.writelines, [buf] + [1])
108 self.assertEqual(memio.getvalue(), buf)
109 self.assertRaises(TypeError, memio.writelines, None)
111 self.assertRaises(ValueError, memio.writelines, [])
113 def test_writelines_error(self):
114 memio = self.ioclass()
116 yield self.buftype('spam')
119 self.assertRaises(KeyboardInterrupt, memio.writelines, error_gen())
121 def test_truncate(self):
122 buf = self.buftype("1234567890")
123 memio = self.ioclass(buf)
125 self.assertRaises(ValueError, memio.truncate, -1)
126 self.assertRaises(ValueError, memio.truncate, IntLike(-1))
128 self.assertEqual(memio.truncate(IntLike(8)), 8)
129 self.assertEqual(memio.getvalue(), buf[:8])
130 self.assertEqual(memio.truncate(), 6)
131 self.assertEqual(memio.getvalue(), buf[:6])
132 self.assertEqual(memio.truncate(4), 4)
133 self.assertEqual(memio.getvalue(), buf[:4])
134 self.assertEqual(memio.tell(), 6)
137 self.assertEqual(memio.getvalue(), buf[:4] + buf)
139 self.assertEqual(memio.truncate(None), pos)
140 self.assertEqual(memio.tell(), pos)
141 self.assertRaises(TypeError, memio.truncate, '0')
143 self.assertRaises(ValueError, memio.truncate, 0)
144 self.assertRaises(ValueError, memio.truncate, IntLike(0))
146 def test_init(self):
147 buf = self.buftype("1234567890")
148 memio = self.ioclass(buf)
149 self.assertEqual(memio.getvalue(), buf)
150 memio = self.ioclass(None)
151 self.assertEqual(memio.getvalue(), self.EOF)
153 self.assertEqual(memio.getvalue(), buf * 2)
155 self.assertEqual(memio.getvalue(), buf)
156 self.assertRaises(TypeError, memio.__init__, [])
158 def test_read(self):
159 buf = self.buftype("1234567890")
160 memio = self.ioclass(buf)
162 self.assertEqual(memio.read(0), self.EOF)
163 self.assertEqual(memio.read(1), buf[:1])
164 self.assertEqual(memio.read(4), buf[1:5])
165 self.assertEqual(memio.read(900), buf[5:])
166 self.assertEqual(memio.read(), self.EOF)
168 self.assertEqual(memio.read(IntLike(0)), self.EOF)
169 self.assertEqual(memio.read(IntLike(1)), buf[:1])
170 self.assertEqual(memio.read(IntLike(4)), buf[1:5])
171 self.assertEqual(memio.read(IntLike(900)), buf[5:])
173 self.assertEqual(memio.read(), buf)
174 self.assertEqual(memio.read(), self.EOF)
175 self.assertEqual(memio.tell(), 10)
177 self.assertEqual(memio.read(-1), buf)
179 self.assertEqual(memio.read(IntLike(-1)), buf)
181 self.assertEqual(type(memio.read()), type(buf))
183 self.assertEqual(type(memio.read()), type(buf))
185 self.assertEqual(memio.read(None), buf)
186 self.assertRaises(TypeError, memio.read, '')
188 self.assertEqual(memio.read(1), self.EOF)
190 self.assertEqual(memio.read(IntLike(1)), self.EOF)
192 self.assertEqual(memio.read(), self.EOF)
194 self.assertRaises(ValueError, memio.read)
196 def test_readline(self):
197 buf = self.buftype("1234567890\n")
198 memio = self.ioclass(buf * 2)
200 self.assertEqual(memio.readline(0), self.EOF)
201 self.assertEqual(memio.readline(IntLike(0)), self.EOF)
202 self.assertEqual(memio.readline(), buf)
203 self.assertEqual(memio.readline(), buf)
204 self.assertEqual(memio.readline(), self.EOF)
206 self.assertEqual(memio.readline(5), buf[:5])
207 self.assertEqual(memio.readline(5), buf[5:10])
208 self.assertEqual(memio.readline(5), buf[10:15])
210 self.assertEqual(memio.readline(IntLike(5)), buf[:5])
211 self.assertEqual(memio.readline(IntLike(5)), buf[5:10])
212 self.assertEqual(memio.readline(IntLike(5)), buf[10:15])
214 self.assertEqual(memio.readline(-1), buf)
216 self.assertEqual(memio.readline(IntLike(-1)), buf)
218 self.assertEqual(memio.readline(0), self.EOF)
219 self.assertEqual(memio.readline(IntLike(0)), self.EOF)
222 self.assertEqual(memio.readline(), self.EOF)
224 buf = self.buftype("1234567890\n")
225 memio = self.ioclass((buf * 3)[:-1])
226 self.assertEqual(memio.readline(), buf)
227 self.assertEqual(memio.readline(), buf)
228 self.assertEqual(memio.readline(), buf[:-1])
229 self.assertEqual(memio.readline(), self.EOF)
231 self.assertEqual(type(memio.readline()), type(buf))
232 self.assertEqual(memio.readline(), buf)
233 self.assertRaises(TypeError, memio.readline, '')
235 self.assertRaises(ValueError, memio.readline)
237 def test_readlines(self):
238 buf = self.buftype("1234567890\n")
239 memio = self.ioclass(buf * 10)
241 self.assertEqual(memio.readlines(), [buf] * 10)
243 self.assertEqual(memio.readlines(), [buf[5:]] + [buf] * 9)
245 self.assertEqual(memio.readlines(15), [buf] * 2)
247 self.assertEqual(memio.readlines(-1), [buf] * 10)
249 self.assertEqual(memio.readlines(0), [buf] * 10)
251 self.assertEqual(type(memio.readlines()[0]), type(buf))
253 self.assertEqual(memio.readlines(None), [buf] * 10)
254 self.assertRaises(TypeError, memio.readlines, '')
257 self.assertEqual(memio.readlines(), [])
259 self.assertRaises(ValueError, memio.readlines)
261 def test_iterator(self):
262 buf = self.buftype("1234567890\n")
263 memio = self.ioclass(buf * 10)
265 self.assertEqual(iter(memio), memio)
266 self.assertTrue(hasattr(memio, '__iter__'))
267 self.assertTrue(hasattr(memio, '__next__'))
270 self.assertEqual(line, buf)
272 self.assertEqual(i, 10)
276 self.assertEqual(line, buf)
278 self.assertEqual(i, 10)
281 self.assertEqual(list(memio), [])
282 memio = self.ioclass(buf * 2)
284 self.assertRaises(ValueError, memio.__next__)
286 def test_getvalue(self):
287 buf = self.buftype("1234567890")
288 memio = self.ioclass(buf)
290 self.assertEqual(memio.getvalue(), buf)
292 self.assertEqual(memio.getvalue(), buf)
293 self.assertEqual(type(memio.getvalue()), type(buf))
294 memio = self.ioclass(buf * 1000)
295 self.assertEqual(memio.getvalue()[-3:], self.buftype("890"))
296 memio = self.ioclass(buf)
298 self.assertRaises(ValueError, memio.getvalue)
300 def test_seek(self):
301 buf = self.buftype("1234567890")
302 memio = self.ioclass(buf)
305 self.assertRaises(ValueError, memio.seek, -1)
306 self.assertRaises(ValueError, memio.seek, 1, -1)
307 self.assertRaises(ValueError, memio.seek, 1, 3)
308 self.assertEqual(memio.seek(0), 0)
309 self.assertEqual(memio.seek(0, 0), 0)
310 self.assertEqual(memio.read(), buf)
311 self.assertEqual(memio.seek(3), 3)
312 self.assertEqual(memio.seek(0, 1), 3)
313 self.assertEqual(memio.read(), buf[3:])
314 self.assertEqual(memio.seek(len(buf)), len(buf))
315 self.assertEqual(memio.read(), self.EOF)
317 self.assertEqual(memio.read(), self.EOF)
318 self.assertEqual(memio.seek(0, 2), len(buf))
319 self.assertEqual(memio.read(), self.EOF)
321 self.assertRaises(ValueError, memio.seek, 0)
323 def test_overseek(self):
324 buf = self.buftype("1234567890")
325 memio = self.ioclass(buf)
327 self.assertEqual(memio.seek(len(buf) + 1), 11)
328 self.assertEqual(memio.read(), self.EOF)
329 self.assertEqual(memio.tell(), 11)
330 self.assertEqual(memio.getvalue(), buf)
331 memio.write(self.EOF)
332 self.assertEqual(memio.getvalue(), buf)
334 self.assertEqual(memio.getvalue(), buf + self.buftype('\0') + buf)
336 def test_tell(self):
337 buf = self.buftype("1234567890")
338 memio = self.ioclass(buf)
340 self.assertEqual(memio.tell(), 0)
342 self.assertEqual(memio.tell(), 5)
344 self.assertEqual(memio.tell(), 10000)
346 self.assertRaises(ValueError, memio.tell)
348 def test_flush(self):
349 buf = self.buftype("1234567890")
350 memio = self.ioclass(buf)
352 self.assertEqual(memio.flush(), None)
354 def test_flags(self):
355 memio = self.ioclass()
357 self.assertEqual(memio.writable(), True)
358 self.assertEqual(memio.readable(), True)
359 self.assertEqual(memio.seekable(), True)
360 self.assertEqual(memio.isatty(), False)
361 self.assertEqual(memio.closed, False)
363 self.assertRaises(ValueError, memio.writable)
364 self.assertRaises(ValueError, memio.readable)
365 self.assertRaises(ValueError, memio.seekable)
366 self.assertRaises(ValueError, memio.isatty)
367 self.assertEqual(memio.closed, True)
369 def test_subclassing(self):
370 buf = self.buftype("1234567890")
372 class MemIO(self.ioclass):
377 class MemIO(self.ioclass):
379 self.ioclass.__init__(me, a)
382 self.assertEqual(test1(), buf)
383 self.assertEqual(test2(), buf)
385 def test_instance_dict_leak(self):
389 memio = self.ioclass()
392 def test_pickling(self):
393 buf = self.buftype("1234567890")
394 memio = self.ioclass(buf)
398 class PickleTestMemIO(self.ioclass):
400 self.ioclass.__init__(me, initvalue)
407 # self.ioclass without having to define all combinations explicitly on
421 self.assertEqual(obj.getvalue(), obj2.getvalue())
422 self.assertEqual(obj.__class__, obj2.__class__)
423 self.assertEqual(obj.foo, obj2.foo)
424 self.assertEqual(obj.tell(), obj2.tell())
426 self.assertRaises(ValueError, pickle.dumps, obj2, proto)
441 def test_getbuffer(self):
442 memio = self.ioclass(b"1234567890")
444 self.assertEqual(bytes(buf), b"1234567890")
447 self.assertEqual(bytes(buf), b"1234567890")
450 self.assertRaises(BufferError, memio.write, b'x' * 100)
451 self.assertRaises(BufferError, memio.truncate)
452 self.assertRaises(BufferError, memio.close)
453 self.assertFalse(memio.closed)
456 self.assertEqual(bytes(buf), b"123abc7890")
457 self.assertEqual(memio.getvalue(), b"123abc7890")
464 self.assertRaises(ValueError, memio.getbuffer)
466 def test_read1(self):
467 buf = self.buftype("1234567890")
468 self.assertEqual(self.ioclass(buf).read1(), buf)
469 self.assertEqual(self.ioclass(buf).read1(-1), buf)
471 def test_readinto(self):
472 buf = self.buftype("1234567890")
473 memio = self.ioclass(buf)
476 self.assertEqual(memio.readinto(b), 5)
477 self.assertEqual(b, b"12345")
478 self.assertEqual(memio.readinto(b), 5)
479 self.assertEqual(b, b"67890")
480 self.assertEqual(memio.readinto(b), 0)
481 self.assertEqual(b, b"67890")
484 self.assertEqual(memio.readinto(b), 10)
485 self.assertEqual(b, b"1234567890d")
488 self.assertEqual(memio.readinto(b), 0)
489 self.assertEqual(b, b"")
490 self.assertRaises(TypeError, memio.readinto, '')
493 memio = self.ioclass(buf)
495 self.assertEqual(a.tobytes(), b"1234567890d")
497 self.assertRaises(ValueError, memio.readinto, b)
498 memio = self.ioclass(b"123")
502 self.assertEqual(b, b"")
504 def test_relative_seek(self):
505 buf = self.buftype("1234567890")
506 memio = self.ioclass(buf)
508 self.assertEqual(memio.seek(-1, 1), 0)
509 self.assertEqual(memio.seek(3, 1), 3)
510 self.assertEqual(memio.seek(-4, 1), 0)
511 self.assertEqual(memio.seek(-1, 2), 9)
512 self.assertEqual(memio.seek(1, 1), 10)
513 self.assertEqual(memio.seek(1, 2), 11)
515 self.assertEqual(memio.read(), buf[-3:])
518 self.assertEqual(memio.read(), buf[1:])
520 def test_unicode(self):
521 memio = self.ioclass()
523 self.assertRaises(TypeError, self.ioclass, "1234567890")
524 self.assertRaises(TypeError, memio.write, "1234567890")
525 self.assertRaises(TypeError, memio.writelines, ["1234567890"])
527 def test_bytes_array(self):
531 memio = self.ioclass(a)
532 self.assertEqual(memio.getvalue(), buf)
533 self.assertEqual(memio.write(a), 10)
534 self.assertEqual(memio.getvalue(), buf)
536 def test_issue5449(self):
537 buf = self.buftype("1234567890")
538 self.ioclass(initial_bytes=buf)
539 self.assertRaises(TypeError, self.ioclass, buf, foo=None)
544 def test_newlines_property(self):
545 memio = self.ioclass(newline=None)
552 self.assertEqual(memio.newlines, None)
555 self.assertEqual(memio.newlines, "\n")
558 self.assertEqual(memio.newlines, ("\n", "\r\n"))
561 self.assertEqual(memio.newlines, ("\r", "\n", "\r\n"))
563 def test_relative_seek(self):
564 memio = self.ioclass()
566 self.assertRaises(OSError, memio.seek, -1, 1)
567 self.assertRaises(OSError, memio.seek, 3, 1)
568 self.assertRaises(OSError, memio.seek, -3, 1)
569 self.assertRaises(OSError, memio.seek, -1, 2)
570 self.assertRaises(OSError, memio.seek, 1, 1)
571 self.assertRaises(OSError, memio.seek, 1, 2)
573 def test_textio_properties(self):
574 memio = self.ioclass()
578 self.assertIsNone(memio.encoding)
579 self.assertIsNone(memio.errors)
580 self.assertFalse(memio.line_buffering)
582 def test_newline_default(self):
583 memio = self.ioclass("a\nb\r\nc\rd")
584 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\rd"])
585 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
587 memio = self.ioclass()
588 self.assertEqual(memio.write("a\nb\r\nc\rd"), 8)
590 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\rd"])
591 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
593 def test_newline_none(self):
595 memio = self.ioclass("a\nb\r\nc\rd", newline=None)
596 self.assertEqual(list(memio), ["a\n", "b\n", "c\n", "d"])
598 self.assertEqual(memio.read(1), "a")
599 self.assertEqual(memio.read(2), "\nb")
600 self.assertEqual(memio.read(2), "\nc")
601 self.assertEqual(memio.read(1), "\n")
602 self.assertEqual(memio.getvalue(), "a\nb\nc\nd")
604 memio = self.ioclass(newline=None)
605 self.assertEqual(2, memio.write("a\n"))
606 self.assertEqual(3, memio.write("b\r\n"))
607 self.assertEqual(3, memio.write("c\rd"))
609 self.assertEqual(memio.read(), "a\nb\nc\nd")
610 self.assertEqual(memio.getvalue(), "a\nb\nc\nd")
612 memio = self.ioclass("a\r\nb", newline=None)
613 self.assertEqual(memio.read(3), "a\nb")
615 def test_newline_empty(self):
617 memio = self.ioclass("a\nb\r\nc\rd", newline="")
618 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\r", "d"])
620 self.assertEqual(memio.read(4), "a\nb\r")
621 self.assertEqual(memio.read(2), "\nc")
622 self.assertEqual(memio.read(1), "\r")
623 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
625 memio = self.ioclass(newline="")
626 self.assertEqual(2, memio.write("a\n"))
627 self.assertEqual(2, memio.write("b\r"))
628 self.assertEqual(2, memio.write("\nc"))
629 self.assertEqual(2, memio.write("\rd"))
631 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\r", "d"])
632 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
634 def test_newline_lf(self):
636 memio = self.ioclass("a\nb\r\nc\rd", newline="\n")
637 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\rd"])
638 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
640 memio = self.ioclass(newline="\n")
641 self.assertEqual(memio.write("a\nb\r\nc\rd"), 8)
643 self.assertEqual(list(memio), ["a\n", "b\r\n", "c\rd"])
644 self.assertEqual(memio.getvalue(), "a\nb\r\nc\rd")
646 def test_newline_cr(self):
648 memio = self.ioclass("a\nb\r\nc\rd", newline="\r")
649 self.assertEqual(memio.read(), "a\rb\r\rc\rd")
651 self.assertEqual(list(memio), ["a\r", "b\r", "\r", "c\r", "d"])
652 self.assertEqual(memio.getvalue(), "a\rb\r\rc\rd")
654 memio = self.ioclass(newline="\r")
655 self.assertEqual(memio.write("a\nb\r\nc\rd"), 8)
657 self.assertEqual(list(memio), ["a\r", "b\r", "\r", "c\r", "d"])
659 self.assertEqual(memio.readlines(), ["a\r", "b\r", "\r", "c\r", "d"])
660 self.assertEqual(memio.getvalue(), "a\rb\r\rc\rd")
662 def test_newline_crlf(self):
664 memio = self.ioclass("a\nb\r\nc\rd", newline="\r\n")
665 self.assertEqual(memio.read(), "a\r\nb\r\r\nc\rd")
667 self.assertEqual(list(memio), ["a\r\n", "b\r\r\n", "c\rd"])
669 self.assertEqual(memio.readlines(), ["a\r\n", "b\r\r\n", "c\rd"])
670 self.assertEqual(memio.getvalue(), "a\r\nb\r\r\nc\rd")
672 memio = self.ioclass(newline="\r\n")
673 self.assertEqual(memio.write("a\nb\r\nc\rd"), 8)
675 self.assertEqual(list(memio), ["a\r\n", "b\r\r\n", "c\rd"])
676 self.assertEqual(memio.getvalue(), "a\r\nb\r\r\nc\rd")
678 def test_issue5265(self):
680 memio = self.ioclass("a\r\nb\r\n", newline=None)
681 self.assertEqual(memio.read(5), "a\nb\n")
682 self.assertEqual(memio.getvalue(), "a\nb\n")
684 def test_newline_argument(self):
685 self.assertRaises(TypeError, self.ioclass, newline=b"\n")
686 self.assertRaises(ValueError, self.ioclass, newline="error")
689 self.ioclass(newline=newline)
699 def test_lone_surrogates(self):
701 memio = self.ioclass('\ud800')
702 self.assertEqual(memio.read(), '\ud800')
704 memio = self.ioclass()
706 self.assertEqual(memio.getvalue(), '\ud800')
719 def __init__(self, *args, **kwargs):
727 def test_getstate(self):
728 memio = self.ioclass()
730 self.assertEqual(len(state), 3)
732 self.assertIsInstance(state[1], int)
734 self.assertIsInstance(state[2], dict)
736 self.assertRaises(ValueError, memio.__getstate__)
738 def test_setstate(self):
740 memio = self.ioclass()
744 self.assertRaises(ValueError, memio.__setstate__, (b"", -1, None))
745 self.assertRaises(TypeError, memio.__setstate__, ("unicode", 0, None))
746 self.assertRaises(TypeError, memio.__setstate__, (b"", 0.0, None))
747 self.assertRaises(TypeError, memio.__setstate__, (b"", 0, 0))
748 self.assertRaises(TypeError, memio.__setstate__, (b"len-test", 0))
749 self.assertRaises(TypeError, memio.__setstate__)
750 self.assertRaises(TypeError, memio.__setstate__, 0)
752 self.assertRaises(ValueError, memio.__setstate__, (b"closed", 0, None))
757 def test_sizeof(self):
759 check = self.check_sizeof
760 self.assertEqual(object.__sizeof__(io.BytesIO()), basesize)
767 def _test_cow_mutation(self, mutation):
771 memio = self.ioclass(imm)
772 self.assertEqual(sys.getrefcount(imm), old_rc + 1)
774 self.assertEqual(sys.getrefcount(imm), old_rc)
777 def test_cow_truncate(self):
781 self._test_cow_mutation(mutation)
784 def test_cow_write(self):
789 self._test_cow_mutation(mutation)
792 def test_cow_setstate(self):
794 memio = self.ioclass(b'foooooo')
798 self._test_cow_mutation(mutation)
801 def test_cow_mutable(self):
807 memio = self.ioclass(ba)
808 self.assertEqual(sys.getrefcount(ba), old_rc)
816 def test_widechar(self):
817 buf = self.buftype("\U0002030a\U00020347")
818 memio = self.ioclass(buf)
820 self.assertEqual(memio.getvalue(), buf)
821 self.assertEqual(memio.write(buf), len(buf))
822 self.assertEqual(memio.tell(), len(buf))
823 self.assertEqual(memio.getvalue(), buf)
824 self.assertEqual(memio.write(buf), len(buf))
825 self.assertEqual(memio.tell(), len(buf) * 2)
826 self.assertEqual(memio.getvalue(), buf + buf)
828 def test_getstate(self):
829 memio = self.ioclass()
831 self.assertEqual(len(state), 4)
832 self.assertIsInstance(state[0], str)
833 self.assertIsInstance(state[1], str)
834 self.assertIsInstance(state[2], int)
836 self.assertIsInstance(state[3], dict)
838 self.assertRaises(ValueError, memio.__getstate__)
840 def test_setstate(self):
842 memio = self.ioclass()
845 self.assertRaises(ValueError, memio.__setstate__, ("", "f", 0, None))
846 self.assertRaises(ValueError, memio.__setstate__, ("", "", -1, None))
847 self.assertRaises(TypeError, memio.__setstate__, (b"", "", 0, None))
848 self.assertRaises(TypeError, memio.__setstate__, ("", b"", 0, None))
849 self.assertRaises(TypeError, memio.__setstate__, ("", "", 0.0, None))
850 self.assertRaises(TypeError, memio.__setstate__, ("", "", 0, 0))
851 self.assertRaises(TypeError, memio.__setstate__, ("len-test", 0))
852 self.assertRaises(TypeError, memio.__setstate__)
853 self.assertRaises(TypeError, memio.__setstate__, 0)
855 self.assertRaises(ValueError, memio.__setstate__, ("closed", "", 0, None))
864 def __init__(self, *args, **kwargs):