当前位置: 首页>>代码示例>>Python>>正文


Python WorkflowManager._all_part_modules方法代码示例

本文整理汇总了Python中vis.workflow.WorkflowManager._all_part_modules方法的典型用法代码示例。如果您正苦于以下问题:Python WorkflowManager._all_part_modules方法的具体用法?Python WorkflowManager._all_part_modules怎么用?Python WorkflowManager._all_part_modules使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vis.workflow.WorkflowManager的用法示例。


在下文中一共展示了WorkflowManager._all_part_modules方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_all_part_modules_1

# 需要导入模块: from vis.workflow import WorkflowManager [as 别名]
# 或者: from vis.workflow.WorkflowManager import _all_part_modules [as 别名]
 def test_all_part_modules_1(self, mock_int, mock_nri, mock_ng, mock_horiz, mock_ror):
     # - we'll only use self._data[1]; excluding "Rest"
     # 1.) prepare the test and mocks
     test_pieces = [MagicMock(IndexedPiece, name=x) for x in [u'test1', u'test2', u'test3']]
     # set up fake part names
     for piece in test_pieces:
         piece.metadata.return_value = [u'S', u'A', u'T', u'B']
     # set up pseudo-IntervalIndexer results for mock_ror
     ror_vert_ret = {x: MagicMock(name=u'piece2 part ' + x) for x in [u'0,3', u'1,3', u'2,3']}
     ror_horiz_ret = [None, None, None, MagicMock(name=u'piece1 horiz')]
     ror_returns = [ror_vert_ret, ror_horiz_ret]
     def ror_side_effect(*args, **kwargs):
         # NB: we need to accept "args" as a mock framework formality
         # pylint: disable=W0613
         return ror_returns.pop(0)
     mock_ror.side_effect = ror_side_effect
     # set up fake return values for IntervalIndexer
     vert_ret = u"IntervalIndexer's return"
     horiz_ret = u"HorizontalIntervalIndexer's return"
     # set up return values for IndexedPiece.get_data()
     returns = [vert_ret, horiz_ret, [3]]
     def side_effect(*args):
         # NB: we need to accept "args" as a mock framework formality
         # pylint: disable=W0613
         return returns.pop(0)
     for piece in test_pieces:
         piece.get_data.side_effect = side_effect
     expected = [x[0] for x in returns[2:]]
     # 2.) prepare WorkflowManager and run the test
     test_wc = WorkflowManager(test_pieces)
     test_index = 1
     test_wc.settings(test_index, u'interval quality', True)
     test_wc.settings(test_index, u'simple intervals', True)
     test_wc.settings(test_index, u'filter repeats', False)
     test_wc.settings(test_index, u'offset interval', None)
     actual = test_wc._all_part_modules(test_index)
     # 3.) confirm everything was called in the right order
     # - that every IP is asked for its vertical and horizontal interval indexes
     #   (that "mark singles" and "continuer" weren't put in the settings)
     expected_interv_setts = {u'quality': True, u'simple or compound': u'simple'}
     expected_ngram_settings = {u'horizontal': [3], u'vertical': [0, 1, 2], u'n': 2,
                                u'continuer': 'dynamic quality', u'mark singles': False,
                                u'terminator': u'Rest'}
     # all parts at once for NGramIndexer, plus 2 calls to interval indexers
     self.assertEqual(3, test_pieces[test_index].get_data.call_count)
     # - that _run_off_rep() is called once for horizontal and vertical
     self.assertEqual(2, mock_ror.call_count)
     mock_ror.assert_any_call(test_index, vert_ret)
     mock_ror.assert_any_call(test_index, horiz_ret, is_horizontal=True)
     # confirm the calls to interval indexers an NGramIndexer all together
     exp_calls = [mock.call([mock_nri, mock_int], expected_interv_setts),
                 mock.call([mock_nri, mock_horiz], expected_interv_setts),
                 mock.call([mock_ng],
                           expected_ngram_settings,
                           [ror_vert_ret[u'0,3'],
                            ror_vert_ret[u'1,3'],
                            ror_vert_ret[u'2,3'],
                            ror_horiz_ret[3]])]
     for i in xrange(len(exp_calls)):
         self.assertEqual(test_pieces[test_index].get_data.mock_calls[i], exp_calls[i])
     self.assertEqual(expected, actual)
开发者ID:ELVIS-Project,项目名称:fiddle-tunes,代码行数:63,代码来源:test_workflow_experiments.py


注:本文中的vis.workflow.WorkflowManager._all_part_modules方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。