def testStreamAsIterator(self): stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals("123", stream.next()) self.assertEquals("45", stream.read(2)) self.assertEquals("6", stream.next()) self.assertEquals("78", stream.next()) self.assertEquals("90", stream.next()) self.assertRaises(StopIteration, stream.next) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals(["123", "456", "78", "90"], [f for f in stream]) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals("123, 456, 78, 90", ", ".join(stream)) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) stream.read() self.assertRaises(StopIteration, stream.next) stream = IteratorAsStream((f for f in [])) self.assertRaises(StopIteration, stream.next)
def testEmptyIterator(self): stream = IteratorAsStream(iter([])) self.assertEquals("", stream.read())
def testReadWithSize(self): def assertStream1(stream): self.assertEquals("12345", stream.read(5)) self.assertEquals("67890", stream.read(42)) self.assertEquals('', stream.read()) self.assertEquals('', stream.read()) def assertStream2(stream): self.assertEquals("12345", stream.read(5)) self.assertEquals("", stream.read(0)) self.assertEquals("67890", stream.read(-1)) self.assertEquals('', stream.read()) def assertStream3(stream): self.assertEquals("12345", stream.read(5)) self.assertEquals("67890", stream.read()) self.assertEquals('', stream.read()) def assertStream4(stream): self.assertEquals("1234567890", stream.read(-19)) def assertStream5(stream): self.assertEquals("1234567890", stream.read()) assertStream1(StringIO("1234567890")) assertStream2(StringIO("1234567890")) assertStream3(StringIO("1234567890")) assertStream4(StringIO("1234567890")) assertStream5(StringIO("1234567890")) assertStream1(IteratorAsStream("1234567890")) assertStream2(IteratorAsStream("1234567890")) assertStream3(IteratorAsStream("1234567890")) assertStream4(IteratorAsStream("1234567890")) assertStream5(IteratorAsStream("1234567890")) assertStream1(IteratorAsStream(iter("1234567890"))) assertStream2(IteratorAsStream(iter("1234567890"))) assertStream3(IteratorAsStream(iter("1234567890"))) assertStream4(IteratorAsStream(iter("1234567890"))) assertStream5(IteratorAsStream(iter("1234567890"))) assertStream1(IteratorAsStream( (f for f in ["123", "456", "78", "90"]))) assertStream2(IteratorAsStream( (f for f in ["123", "456", "78", "90"]))) assertStream3(IteratorAsStream( (f for f in ["123", "456", "78", "90"]))) assertStream4(IteratorAsStream( (f for f in ["123", "456", "78", "90"]))) assertStream5(IteratorAsStream( (f for f in ["123", "456", "78", "90"])))
def testStreamAsIterator(self): stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals("123", stream.next()) self.assertEquals("45", stream.read(2)) self.assertEquals("6", stream.next()) self.assertEquals("78", stream.next()) self.assertEquals("90", stream.next()) self.assertRaises(StopIteration, stream.next) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals(["123", "456", "78", "90"], [f for f in stream]) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) self.assertEquals("123, 456, 78, 90", ', '.join(stream)) stream = IteratorAsStream((f for f in ["123", "456", "78", "90"])) stream.read() self.assertRaises(StopIteration, stream.next) stream = IteratorAsStream((f for f in [])) self.assertRaises(StopIteration, stream.next)
def testEmptyIterator(self): stream = IteratorAsStream(iter([])) self.assertEquals('', stream.read())