def test_run_1(self):
     # properly deals with "intervals" experiment
     # also tests that the user can pass a custom string to the continuer setting
     mock_path = u'vis.workflow.WorkflowManager._intervs'
     with mock.patch(mock_path) as mock_meth:
         mock_meth.return_value = u'the final countdown'
         test_wc = WorkflowManager([])
         test_wc._loaded = True
         test_wc.settings(None, 'continuer', 'Unisonus')
         test_wc.run(u'intervals')
         mock_meth.assert_called_once_with()
         self.assertEqual(mock_meth.return_value, test_wc._result)
         self.assertEqual(u'intervals', test_wc._previous_exp)
         self.assertEqual('Unisonus', test_wc.settings(None, 'continuer'))
 def test_run_2b(self):
     # same as 2a but 'interval quality' is set to False
     mock_path = u'vis.workflow.WorkflowManager._interval_ngrams'
     with mock.patch(mock_path) as mock_meth:
         mock_meth.return_value = u'the final countdown'
         test_wc = WorkflowManager([])
         test_wc._loaded = True
         test_wc.settings(None, 'interval quality', False)
         def the_side_effect():
             assert '1' == test_wc.settings(None, 'continuer')
             return mock.DEFAULT
         mock_meth.side_effect = the_side_effect
         test_wc.run(u'interval n-grams')
         mock_meth.assert_called_once_with()
         self.assertEqual(mock_meth.return_value, test_wc._result)
         self.assertEqual(u'interval n-grams', test_wc._previous_exp)
         self.assertEqual('dynamic quality', test_wc.settings(None, 'continuer'))
 def test_run_2a(self):
     # properly deals with "interval n-grams" experiment
     # checks that the continuer returns to 'dynamic quality' after runtime when
     # interval quality was set to True
     mock_path = u'vis.workflow.WorkflowManager._interval_ngrams'
     with mock.patch(mock_path) as mock_meth:
         mock_meth.return_value = u'the final countdown'
         test_wc = WorkflowManager([])
         test_wc._loaded = True
         test_wc.settings(None, 'interval quality', True)
         def the_side_effect():
             assert 'P1' == test_wc.settings(None, 'continuer')
             return mock.DEFAULT
         mock_meth.side_effect = the_side_effect
         test_wc.run(u'interval n-grams')
         mock_meth.assert_called_once_with()
         self.assertEqual(mock_meth.return_value, test_wc._result)
         self.assertEqual(u'interval n-grams', test_wc._previous_exp)
         self.assertEqual('dynamic quality', test_wc.settings(None, 'continuer'))
 def test_run_4(self):
     # raise RuntimeError when load() has not been called
     test_wc = WorkflowManager([])
     test_wc._loaded = False
     self.assertRaises(RuntimeError, test_wc.run, u'intervals')
 def test_run_3(self):
     # raise RuntimeError with invalid instructions
     test_wc = WorkflowManager([])
     test_wc._loaded = True
     self.assertRaises(RuntimeError, test_wc.run, u'too short')
     self.assertRaises(RuntimeError, test_wc.run, u'this just is not an instruction you know')