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


Python WorkflowManager._two_part_modules方法代码示例

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


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

示例1: test_two_part_modules_1

# 需要导入模块: from vis.workflow import WorkflowManager [as 别名]
# 或者: from vis.workflow.WorkflowManager import _two_part_modules [as 别名]
 def test_two_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
     part_combos = [u'0,3', u'1,3', u'2,3', u'0,1', u'0,2', u'1,2']
     ror_vert_ret = {x: MagicMock(name=u'piece2 part ' + x) for x in part_combos}
     ror_horiz_ret = [MagicMock(name=u'piece2 horiz ' + str(x)) for x in xrange(4)]
     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, [u'piece2 3rd get_data()'], [u'piece2 4th get_data()'],
                [u'piece2 5th get_data()'], [u'piece2 6th get_data()'], [u'piece2 7th get_data()'],
                [u'piece2 8th get_data()']]
     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._two_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': [1], u'vertical': [0], u'n': 2,
                                u'continuer': 'dynamic quality', u'mark singles': False,
                                u'terminator': u'Rest'}
     # four-part piece means 6 combinations for NGramIndexer, plus 2 calls to interval indexers
     self.assertEqual(8, test_pieces[test_index].get_data.call_count)
     exp_calls = [mock.call([mock_nri, mock_int], expected_interv_setts),
                 mock.call([mock_nri, mock_horiz], expected_interv_setts)]
     for i in xrange(len(exp_calls)):
         self.assertEqual(test_pieces[test_index].get_data.mock_calls[i], exp_calls[i])
     # - 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)
     # - that each IndP.get_data() called NGramIndexer with the right settings at some point
     for combo in ror_vert_ret.iterkeys():
         test_pieces[1].get_data.assert_any_call([mock_ng],
                                                 expected_ngram_settings,
                                                 [ror_vert_ret[combo],
                                                 ror_horiz_ret[interval.key_to_tuple(combo)[1]]])
     self.assertSequenceEqual(expected, actual)
开发者ID:ELVIS-Project,项目名称:fiddle-tunes,代码行数:65,代码来源:test_workflow_experiments.py


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