Public feed
#726856
if __name__ == "__main__":
TOTAL_ITEMS = 1000
SCREEN_SIZE = 10
def mock_find(query, sorting=None, limit=None, offset=None, properties=[]):
if limit is None or offset is None:
raise RuntimeError("Unimplemented test.")
result = []
for index in range(offset, offset + limit):
obj = datastore.DSObject(index, datastore.DSMetadata({}), '')
result.append(obj)
return result, TOTAL_ITEMS
datastore.find = mock_find
result_set = find({})
print "Get first page"
objects = result_set.read(SCREEN_SIZE)
print [obj.object_id for obj in objects]
assert range(0, SCREEN_SIZE) == [obj.object_id for obj in objects]
print ""
print "Scroll to 5th item"
result_set.seek(5)
objects = result_set.read(SCREEN_SIZE)
print [obj.object_id for obj in objects]
assert range(5, SCREEN_SIZE + 5) == [obj.object_id for obj in objects]
print ""
print "Scroll back to beginning"
result_set.seek(0)
objects = result_set.read(SCREEN_SIZE)
print [obj.object_id for obj in objects]
assert range(0, SCREEN_SIZE) == [obj.object_id for obj in objects]
print ""
print "Hit PgDn five times"
for i in range(0, 5):
result_set.seek((i + 1) * SCREEN_SIZE)
objects = result_set.read(SCREEN_SIZE)
print [obj.object_id for obj in objects]
assert range((i + 1) * SCREEN_SIZE, (i + 2) * SCREEN_SIZE) == [obj.object_id for obj in objects]
print ""
print "Hit PgUp five times"
for i in range(0, 5)[::-1]:
result_set.seek(i * SCREEN_SIZE)
objects = result_set.read(SCREEN_SIZE)
print [obj.object_id for obj in objects]
assert range(i * SCREEN_SIZE, (i + 1) * SCREEN_SIZE) == [obj.object_id for obj in objects]
print ""