def test_write_sb(self): container = StringBuffer(24) el = StringBuffer(16) el.set('hello world') container.write(el) container.seek(0) self.assertEquals(container.read(), 'hello world')
def test_fwrite(self): sb = StringBuffer(24) sb.set('hello world\n') with TemporaryFile('w+b') as f: fd = f.fileno() sb.fwrite(fd) f.seek(0) buf = f.readline() self.assertEquals(buf, 'hello world\n')
def test_overflow(self): sb = StringBuffer(24) with self.assertRaises(BufferOverflow): sb.write('this string is definitely longer than 24 characters and should raise an error') self.assertRaises(OverflowError, sb.seek, -1) sb = StringBuffer(8) sb.set('01234567') sb.seek(0) buf = sb.raw_read(8) self.assertEquals(buf, '01234567') self.assertRaises(BufferOverflow, sb.raw_read, 1)
def test_buffer(self): sb = StringBuffer(128) sb.write('hello world') sb.seek(0) self.assertEquals(sb.read(), 'hello world') self.assertEquals(sb.offset(), 0) sb.write('jello') self.assertEquals(sb.offset(), 5) sb.seek(0) self.assertEquals(sb.read(), 'jello world') sb.set('hi') self.assertEquals(sb.offset(), 0) self.assertEquals(sb.read(), 'hi') sb = StringBuffer("Hello World") self.assertEquals(sb.read(), 'Hello World') sb = StringBuffer(sb) self.assertEquals(sb.read(), 'Hello World')