else:
res = self.clone()
if start is not None and stop is not None:
- res._ops.update(dict(offset=start, limit=stop-start))
+ res._ops.update(dict(offset=self._ops.get('offset', 0)+start, limit=stop-start))
elif start is None and stop is not None:
res._ops.update(dict(limit=stop))
elif start is not None and stop is None:
- res._ops.update(dict(offset=start))
+ res._ops.update(dict(offset=self._ops.get('offset', 0)+start))
if item.step is not None:
return list(res)[None:None:item.step]
else:
assert list(self.res[:10]) == self.orig[:10]
assert list(self.res[10:40:3]) == self.orig[10:40:3]
assert list(self.res[-5:]) == self.orig[-5:]
+ assert self.res[10:20][5] == self.orig[10:20][5]
def test_aggregate(self):
assert self.res.count() == 100