Esempio n. 1
0
 def test_basic(self):
     from celerymanagementapp.segmentize import avg_aggregator
     
     fieldname = 'floatval'
     agg = avg_aggregator(fieldname)  # this returns another function
     
     qs = TestModel.objects.filter(enumval='A')
     self.assertAlmostEqual(agg(qs), 5.0)
     
     qs = TestModel.objects.filter(enumval='B')
     self.assertAlmostEqual(agg(qs), 4.0)
     
     qs = TestModel.objects.filter(enumval='C')
     self.assertAlmostEqual(agg(qs), 88.0)
     
     qs = TestModel.objects.filter(enumval='D')
     self.assertEqual(agg(qs), None)
Esempio n. 2
0
 def test_basic(self):
     from celerymanagementapp.segmentize import make_segments, Segmentizer
     from celerymanagementapp.segmentize import basic_query_sequence
     from celerymanagementapp.segmentize import avg_aggregator
     
     seq_fieldname = 'enumval'
     agg_fieldname = 'floatval'
     labels = ['A','B','C','D']
     
     qs = TestModel.objects.all()
     
     segmentizer = Segmentizer( basic_query_sequence(seq_fieldname, labels) )
     aggregator = avg_aggregator(agg_fieldname)
     segs = make_segments(qs, segmentizer, aggregator)
     
     self.assertEquals(len(segs), 4)
     
     self.assertEquals(segs[0], ('A',5.0))
     self.assertEquals(segs[1], ('B',4.0))
     self.assertEquals(segs[2], ('C',88.))
     self.assertEquals(segs[3], ('D',None))