def test_das_aggregators(self): """test das aggregator functions""" 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 = {"value": 33} result = das_sum("block.replica.size", rows) self.assertEqual(expect, result) expect = {"value": 4} result = das_count("block.replica.size", rows) self.assertEqual(expect, result) expect = {"value": 1, "_id": 1} result = das_min("block.replica.size", rows) self.assertEqual(expect, result) expect = {"value": 20, "_id": 2} result = das_max("block.replica.size", rows) self.assertEqual(expect, result) expect = {"value": (1 + 10 + 2 + 20) / 4.0} result = das_avg("block.replica.size", rows) self.assertEqual(expect, result) expect = {"value": (10 + 2) / 2} result = das_median("block.replica.size", rows) self.assertEqual(expect, result)
def test_expand_lumis(self): "Test expand_lumis function" rows = [{'lumi':[{'number': [[1,2], [5,7]]}]}] expect = [{'lumi':{'number': 1}}, {'lumi':{'number': 2}}, {'lumi':{'number': 5}}, {'lumi':{'number': 6}}, {'lumi':{'number': 7}}] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) rows = [{'lumi':[{'number': [[1,2]]}]}] expect = [{'lumi':{'number': 1}}, {'lumi':{'number': 2}}] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) rows = [{'lumi':[{'number': [[1,2]]}], 'run':{'run_number':1}}, {'lumi':[{'number': [[5,7]]}], 'run':{'run_number':2}}] expect = [{'lumi':{'number': 1}, 'run':{'run_number':1}}, {'lumi':{'number': 2}, 'run':{'run_number':1}}, {'lumi':{'number': 5}, 'run':{'run_number':2}}, {'lumi':{'number': 6}, 'run':{'run_number':2}}, {'lumi':{'number': 7}, 'run':{'run_number':2}}] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) expect = {'value': 5} result = das_count('lumi.number', rows) self.assertEqual(expect, result)
def test_das_aggregators(self): """test das aggregator functions""" 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 = {'value': 33} result = das_sum('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 4} result = das_count('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 1, '_id': 1} result = das_min('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 20, '_id': 2} result = das_max('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': (1+10+2+20)/4.} result = das_avg('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': (10+2)/2} result = das_median('block.replica.size', rows) self.assertEqual(expect, result)
def test_das_aggregators(self): """test das aggregator functions""" 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 = {'value': 33} result = das_sum('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 4} result = das_count('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 1, '_id': 1} result = das_min('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': 20, '_id': 2} result = das_max('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': (1 + 10 + 2 + 20) / 4.} result = das_avg('block.replica.size', rows) self.assertEqual(expect, result) expect = {'value': (10 + 2) / 2} result = das_median('block.replica.size', rows) self.assertEqual(expect, result)
def test_expand_lumis(self): "Test expand_lumis function" rows = [{'lumi': [{'number': [[1, 2], [5, 7]]}]}] expect = [{ 'lumi': { 'number': 1 } }, { 'lumi': { 'number': 2 } }, { 'lumi': { 'number': 5 } }, { 'lumi': { 'number': 6 } }, { 'lumi': { 'number': 7 } }] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) rows = [{'lumi': [{'number': [[1, 2]]}]}] expect = [{'lumi': {'number': 1}}, {'lumi': {'number': 2}}] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) rows = [{ 'lumi': [{ 'number': [[1, 2]] }], 'run': { 'run_number': 1 } }, { 'lumi': [{ 'number': [[5, 7]] }], 'run': { 'run_number': 2 } }] expect = [{ 'lumi': { 'number': 1 }, 'run': { 'run_number': 1 } }, { 'lumi': { 'number': 2 }, 'run': { 'run_number': 1 } }, { 'lumi': { 'number': 5 }, 'run': { 'run_number': 2 } }, { 'lumi': { 'number': 6 }, 'run': { 'run_number': 2 } }, { 'lumi': { 'number': 7 }, 'run': { 'run_number': 2 } }] result = [r for r in expand_lumis(rows)] self.assertEqual(expect, result) expect = {'value': 5} result = das_count('lumi.number', rows) self.assertEqual(expect, result)