def test_minmax(self): sql = ''' SELECT histogram(flux2mag(forced.i.psfflux_flux)) FROM pdr2_dud ''' result = run_test_agg_sql(sql) hist, bins = result.group_by[None][0] self.assertEqual(len(hist), len(bins) - 1)
def test_minmax_float(self): sql = ''' SELECT minmax(forced.i.psfflux_flux) FROM pdr2_dud ''' result = run_test_agg_sql(sql) self.assertFalse(math.isnan(result.group_by[None][0].min)) self.assertFalse(math.isnan(result.group_by[None][0].max))
def test_minmax_integer(self): sql = ''' SELECT sum(object_id) FROM pdr2_dud WHERE object_id % 100 = 0 ''' result = run_test_agg_sql(sql) ps = patches('pdr2_dud') sum = 0 for p in ps: sum += p[p('object_id') % 100 == 0]('object_id').sum() self.assertEqual(result.group_by[None][0], sum)
def test_minmax_integer(self): sql = ''' SELECT count(*) FROM pdr2_dud WHERE object_id % 5 = 2 ''' result = run_test_agg_sql(sql) ps = patches('pdr2_dud') count = 0 for p in ps: count += p[p('object_id') % 5 == 2].size self.assertEqual(result.group_by[None][0], count)
def test_minmax_integer(self): sql = ''' SELECT min(object_id), max(object_id) FROM pdr2_dud ''' result = run_test_agg_sql(sql) ps = patches('pdr2_dud') m = min((numpy.nanmin(p('object_id')) for p in ps)) M = max((numpy.nanmax(p('object_id')) for p in ps)) self.assertEqual(result.group_by[None][0], m) self.assertEqual(result.group_by[None][1], M)
def test_crossmatch(self): sql = ''' SELECT crossmatch( forced.coord, shared.my_cat, 5 / arcsec, object_id ) FROM pdr2_dud WHERE forced.isprimary ''' result = run_test_agg_sql(sql, shared={'my_cat': gen_coord(1000)})