def testItem(self): items = iterator.Lookahead(iter(["foo", "bar", "baz"])) self.assertEqual(items.item, "foo") next(items) self.assertEqual(items.item, "bar") next(items) self.assertEqual(items.item, "baz")
def testDone(self): items = iterator.Lookahead(iter(["foo", "bar", "baz"])) self.assertFalse(items.done) next(items) self.assertFalse(items.done) next(items) self.assertFalse(items.done) next(items) self.assertTrue(items.done)
def Generate() -> Iterator[bytes]: chunks = ioutil.Chunk(stream, size=_AEAD_CHUNK_SIZE) chunks = iterator.Lookahead(enumerate(chunks)) for idx, chunk in chunks: nonce = os.urandom(_AEAD_NONCE_SIZE) adata = _AEAD_ADATA_FORMAT.pack(idx, chunks.done) yield nonce + aesgcm.encrypt(nonce, chunk, adata)
def testIterate(self): items = iterator.Lookahead(iter(["foo", "bar", "baz"])) self.assertEqual(list(items), ["foo", "bar", "baz"])
def testEmptyDone(self): items = iterator.Lookahead(iter([])) self.assertTrue(items.done)
def testEmptyItem(self): items = iterator.Lookahead(iter([])) with self.assertRaises(ValueError): items.item # pylint: disable=pointless-statement
def testEmptyNext(self): items = iterator.Lookahead(iter([])) with self.assertRaises(StopIteration): next(items)