+ def test_file_reader(self):
+ keepblocks = {'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+10': 'abcdefghij',
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+15': 'klmnopqrstuvwxy',
+ 'cccccccccccccccccccccccccccccccc+5': 'z0123'}
+ mk = self.MockKeep(keepblocks)
+
+ sr = arvados.StreamReader([".", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+10", "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+15", "cccccccccccccccccccccccccccccccc+5", "0:10:foo", "15:10:foo"], mk)
+
+ content = 'abcdefghijpqrstuvwxy'
+
+ f = sr.files()["foo"]
+
+ f.seek(0)
+ self.assertEqual(f.read(20), content[0:20])
+
+ f.seek(0)
+ self.assertEqual(f.read(6), content[0:6])
+ self.assertEqual(f.read(6), content[6:12])
+ self.assertEqual(f.read(6), content[12:18])
+