def METHOD_NAME(self):
    io = IterIO([b"Hello", b"World", b"1", b"2", b"3"])
    self.assert_equal(io.tell(), 0)
    self.assert_equal(io.read(2), b"He")
    self.assert_equal(io.tell(), 2)
    self.assert_equal(io.read(3), b"llo")
    self.assert_equal(io.tell(), 5)
    io.seek(0)
    self.assert_equal(io.read(5), b"Hello")
    self.assert_equal(io.tell(), 5)
    self.assert_equal(io._buf, b"Hello")
    self.assert_equal(io.read(), b"World123")
    self.assert_equal(io.tell(), 13)
    io.close()
    assert io.closed
    io = IterIO([b"Hello\n", b"World!"])
    self.assert_equal(io.readline(), b'Hello\n')
    self.assert_equal(io._buf, b'Hello\n')
    self.assert_equal(io.read(), b'World!')
    self.assert_equal(io._buf, b'Hello\nWorld!')
    self.assert_equal(io.tell(), 12)
    io.seek(0)
    self.assert_equal(io.readlines(), [b'Hello\n', b'World!'])
    io = IterIO([b"foo\n", b"bar"])
    io.seek(-4, 2)
    self.assert_equal(io.read(4), b'\nbar')
    self.assert_raises(IOError, io.seek, 2, 100)
    io.close()
    self.assert_raises(ValueError, io.read)