本文整理汇总了Python中seecr.test.CallTrace.drilldown方法的典型用法代码示例。如果您正苦于以下问题:Python CallTrace.drilldown方法的具体用法?Python CallTrace.drilldown怎么用?Python CallTrace.drilldown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类seecr.test.CallTrace
的用法示例。
在下文中一共展示了CallTrace.drilldown方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testFieldWithMultiLevel
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import drilldown [as 别名]
def testFieldWithMultiLevel(self):
multi = MultiLevelDrilldown(
{'date':[('yearAndMonth', 2, False), ('year', 2, False)]
}
)
drilldown = CallTrace('Drilldown')
doDrilldownArguments = []
def doDrilldown(bitMatrixRow, fieldNamesAndMaxResults):
doDrilldownArguments.append((bitMatrixRow, fieldNamesAndMaxResults))
self.assertEquals(1, len(fieldNamesAndMaxResults))
levelField, levelMax, levelSorted = fieldNamesAndMaxResults[0]
if levelField == 'yearAndMonth':
raise StopIteration(iter([('yearAndMonth', iter([('2008-01',11),('2008-02',2),('2007-12',1)][:levelMax]))]))
else:
raise StopIteration(iter([('year', iter([('2008',13),('2003',10),('2007',10)][:levelMax]))]))
yield
drilldown.drilldown = doDrilldown
multi.addObserver(drilldown)
result = list(compose(multi.multiLevelDrilldown('bitMatrixRow', ['date'])))
self.assertEquals(2, len(doDrilldownArguments))
self.assertEquals(('bitMatrixRow', [('yearAndMonth', 2, False)]), doDrilldownArguments[0])
self.assertEquals(('bitMatrixRow', [('year', 2, False)]), doDrilldownArguments[1])
self.assertEquals(1, len(result))
(inField, realField), termCounts = result[0]
self.assertEquals('year', realField)
self.assertEquals([('2008',13),('2003',10)], list(termCounts))
示例2: testWithSorting
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import drilldown [as 别名]
def testWithSorting(self):
mockData = {
'yearAndMonth': [('2008-01',1),('2008-02',2),('2007-12',11)],
'year': [('2008',13),('2003',10),('2005',9), ('2007', 15)]
}
drilldown = CallTrace('Drilldown')
def doDrilldown(bitMatrixRow, fieldNamesAndMaxResults):
levelField, levelMax, levelSorted = fieldNamesAndMaxResults[0]
data = mockData[levelField]
if levelSorted:
data = sorted(data, cmp=lambda (term0, card0), (term1, card1): cmp(card1, card0))
if levelMax > 0:
data = data[:levelMax]
raise StopIteration(iter([(levelField, iter(data))]))
yield
drilldown.drilldown = doDrilldown
multi = MultiLevelDrilldown({'date':[('yearAndMonth', 2, False), ('year', 3, True)]})
multi.addObserver(drilldown)
result = list(compose(multi.multiLevelDrilldown('bitMatrixRow', ['date'])))
self.assertEquals([(('date', 'year'), [('2007', 15), ('2008', 13), ('2003', 10)])], result)
multi = MultiLevelDrilldown({'date':[('yearAndMonth', 4, False), ('year', 3, False)]})
multi.addObserver(drilldown)
result = list(compose(multi.multiLevelDrilldown('bitMatrixRow', ['date'])))
self.assertEquals([(('date', 'yearAndMonth'), [('2008-01',1),('2008-02',2),('2007-12',11)])], result)
示例3: testTwoFieldNamesCalled
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import drilldown [as 别名]
def testTwoFieldNamesCalled(self):
multi = MultiLevelDrilldown(
{'date':[('datelevel2',3, False),('datelevel1', 10, False)],
'genre':[('type', 10, False)]
}
)
drilldown = CallTrace('Drilldown')
doDrilldownArguments = []
def doDrilldown(bitMatrixRow, fieldNamesAndMaxResults):
doDrilldownArguments.append((bitMatrixRow, fieldNamesAndMaxResults))
self.assertEquals(1, len(fieldNamesAndMaxResults))
levelField, levelMax, levelSorted = fieldNamesAndMaxResults[0]
if 'datelevel2' == levelField:
raise StopIteration(iter([('datelevel2', iter([('2008',13),('2007',10)][:levelMax]))]))
else:
raise StopIteration(iter([('type', iter([('literature',43),('donaldduck',30)][:levelMax]))]))
yield
drilldown.drilldown = doDrilldown
multi.addObserver(drilldown)
result = list(compose(multi.multiLevelDrilldown('bitMatrixRow', ['date', 'genre'])))
self.assertEquals(2, len(doDrilldownArguments))
self.assertEquals(('bitMatrixRow', [('datelevel2', 3, False)]), doDrilldownArguments[0])
self.assertEquals(('bitMatrixRow', [('type', 10, False)]), doDrilldownArguments[1])
self.assertEquals(2, len(result))
self.assertEquals([('date', 'datelevel2'),('genre', 'type')], [(inField, realField) for (inField, realField), termCounts in result])
示例4: testLastZeroReturnValue
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import drilldown [as 别名]
def testLastZeroReturnValue(self):
multi = MultiLevelDrilldown(
{'date':[('yearAndMonth', 2, False), ('year', 2, False)]
}
)
drilldown = CallTrace('Drilldown')
doDrilldownArguments = []
def doDrilldown(bitMatrixRow, fieldNamesAndMaxResults):
doDrilldownArguments.append((bitMatrixRow, fieldNamesAndMaxResults))
self.assertEquals(1, len(fieldNamesAndMaxResults))
levelField, levelMax, sorted = fieldNamesAndMaxResults[0]
if levelField == 'yearAndMonth':
raise StopIteration(iter([('yearAndMonth', iter([]))]))
else:
raise StopIteration(iter([('year', iter([]))]))
yield
drilldown.drilldown = doDrilldown
multi.addObserver(drilldown)
result = list(compose(multi.multiLevelDrilldown('bitMatrixRow', ['date'])))
self.assertEquals(1, len(result))
(inField, realField), termCounts = result[0]
self.assertEquals(None, realField)