Ejemplo n.º 1
0
 def test_sorted_set(self):
     writer = SortedSetWriter(str)
     hzset = SortedSetHandle('myzset', str)
     writer.append(hzset, 'spam', 3.25)
     writer.append(hzset, 'eggs', 3.24)
     self.assertEqual(SortedSet(hzset), ('eggs', 'spam'))
     self.assertEqual(SortedSet(hzset, lte = 3.24), ('eggs',))
     self.assertEqual(SortedSet.zrange(hzset, 0, 0), ('eggs',))
     self.assertEqual(SortedSet.zfind(hzset, gt = 3.24), ('spam',))
Ejemplo n.º 2
0
 def update_all(self, hcont, obj):
     assert self.field.owned
     data = obj.make_dict()
     self.element_writer._check_unique_for_update(obj, data)
     pl = ds.pipeline(True)
     SortedSetWriter.raw_remove(self, pl, hcont, obj.oid)
     self.element_writer._do_update_attrs(pl, obj, data)
     score = getattr(obj, self.field.sort_field.name)
     SortedSetWriter.raw_append(self, pl, hcont, obj.oid, score)
     pl.execute()
Ejemplo n.º 3
0
 def test_model_sorted_set(self):
     writer = SortedSetWriter(Fighter)
     hzset = SortedSetHandle('myzset', Fighter)
     f1, f2, f3 = map(Fighter.by_id, [21, 33, 47])
     writer.append(hzset, f1, 3.25)
     writer.append(hzset, f2, 3.24)
     writer.append(hzset, f3, 4)
     self.assertEqual(SortedSet.zrange(hzset), (f2, f1, f3))
     self.assertEqual(SortedSet.zrevrange(hzset, 0, 0), (f3,))
     self.assertEqual(SortedSet(hzset, gt = 3.24), (f1, f3))