def test_aggregators_with_das(self): """test aggregators with das record""" rows = [] data = { 'block': { 'name': 'AAA', 'replica': [{ 'name': 'a', 'size': 1 }, { 'name': 'b', 'size': 10 }] } } data.update({'_id': 1}) rows.append(data) data = { 'block': { 'name': 'AAA', 'replica': [{ 'name': 'a', 'size': 2 }, { 'name': 'b', 'size': 20 }] } } data.update({'_id': 2}) rows.append(data) expect = {'result': 20, '_id': 2} robj = das_func('max', 'block.replica.size', rows) self.assertEqual(expect, dict(result=robj.result, _id=robj.obj_id))
def test_aggregators(self): """test aggregators dict records""" rows = [] data = { 'block': { 'name': 'AAA', 'replica': [{ 'name': 'a', 'size': 1 }, { 'name': 'b', 'size': 10 }] } } rows.append(data) data = { 'block': { 'name': 'AAA', 'replica': [{ 'name': 'a', 'size': 2 }, { 'name': 'b', 'size': 20 }] } } rows.append(data) expect = 33 robj = das_func('sum', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 4 robj = das_func('count', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 1 robj = das_func('min', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 20 robj = das_func('max', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = (1 + 10 + 2 + 20) / 4. robj = das_func('avg', 'block.replica.size', rows) self.assertEqual(expect, float(robj.result) / robj.rec_count) expect = (10 + 2) // 2 robj = das_func('median', 'block.replica.size', rows) val = (robj.result[len(robj.result)//2-1] + \ robj.result[len(robj.result)//2] )//2 self.assertEqual(expect, val) expect = 20 drows = [DotDict(row) for row in rows] robj = das_func('max', 'block.replica.size', drows) self.assertEqual(expect, robj.result)
def test_aggregators_with_das(self): """test aggregators with das record""" rows = [] data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 1}, {"name": "b", "size": 10}]}} data.update({"_id": 1}) rows.append(data) data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 2}, {"name": "b", "size": 20}]}} data.update({"_id": 2}) rows.append(data) expect = {"result": 20, "_id": 2} robj = das_func("max", "block.replica.size", rows) self.assertEqual(expect, dict(result=robj.result, _id=robj.obj_id))
def test_aggregators_with_das(self): """test aggregators with das record""" rows = [] data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':1}, {'name':'b', 'size':10}] }} data.update({'_id' : 1}) rows.append(data) data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':2}, {'name':'b', 'size':20}] }} data.update({'_id' : 2}) rows.append(data) expect = {'result': 20, '_id': 2} robj = das_func('max', 'block.replica.size', rows) self.assertEqual(expect, dict(result=robj.result, _id=robj.obj_id))
def test_aggregators(self): """test aggregators dict records""" rows = [] data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':1}, {'name':'b', 'size':10}] }} rows.append(data) data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':2}, {'name':'b', 'size':20}] }} rows.append(data) expect = 33 robj = das_func('sum', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 4 robj = das_func('count', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 1 robj = das_func('min', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = 20 robj = das_func('max', 'block.replica.size', rows) self.assertEqual(expect, robj.result) expect = (1+10+2+20)/4. robj = das_func('avg', 'block.replica.size', rows) self.assertEqual(expect, float(robj.result)/robj.rec_count) expect = (10+2)/2 robj = das_func('median', 'block.replica.size', rows) val = (robj.result[len(robj.result)/2-1] + \ robj.result[len(robj.result)/2] )/2 self.assertEqual(expect, val) expect = 20 drows = [DotDict(row) for row in rows] robj = das_func('max', 'block.replica.size', drows) self.assertEqual(expect, robj.result)
def test_aggregators(self): """test aggregators dict records""" rows = [] data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 1}, {"name": "b", "size": 10}]}} rows.append(data) data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 2}, {"name": "b", "size": 20}]}} rows.append(data) expect = 33 robj = das_func("sum", "block.replica.size", rows) self.assertEqual(expect, robj.result) expect = 4 robj = das_func("count", "block.replica.size", rows) self.assertEqual(expect, robj.result) expect = 1 robj = das_func("min", "block.replica.size", rows) self.assertEqual(expect, robj.result) expect = 20 robj = das_func("max", "block.replica.size", rows) self.assertEqual(expect, robj.result) expect = (1 + 10 + 2 + 20) / 4.0 robj = das_func("avg", "block.replica.size", rows) self.assertEqual(expect, float(robj.result) / robj.rec_count) expect = (10 + 2) / 2 robj = das_func("median", "block.replica.size", rows) val = (robj.result[len(robj.result) / 2 - 1] + robj.result[len(robj.result) / 2]) / 2 self.assertEqual(expect, val) expect = 20 drows = [DotDict(row) for row in rows] robj = das_func("max", "block.replica.size", drows) self.assertEqual(expect, robj.result)