def test_run_vizrank_interrupt(self): scores, task = [], Mock() # interrupt calculation in third iteration task.is_interruption_requested.side_effect = lambda: \ True if task.is_interruption_requested.call_count > 2 else False states = [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)] res = run_vizrank(compute_score, chain(states), scores, task) next_state = self.assertQueueEqual( res.queue, [0, 0], compute_score, states[:2], states[1:3]) self.assertEqual(next_state, (0, 3)) res_scores = sorted([compute_score(x) for x in states[:2]]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 2) # continue calculation through all states task.is_interruption_requested.side_effect = lambda: False i = states.index(next_state) res = run_vizrank(compute_score, chain(states[i:]), res_scores, task) next_state = self.assertQueueEqual( res.queue, [0, 3, 2, 5], compute_score, states[2:], states[3:] + [None]) self.assertIsNone(next_state) res_scores = sorted([compute_score(x) for x in states]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 6)
def test_run_vizrank_interrupt(self): scores, task = [], Mock() # interrupt calculation in third iteration task.is_interruption_requested.side_effect = lambda: \ True if task.is_interruption_requested.call_count > 2 else False states = [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)] res = run_vizrank(compute_score, chain(states), scores, task) next_state = self.assertQueueEqual(res.queue, [0, 0], compute_score, states[:2], states[1:3]) self.assertEqual(next_state, (0, 3)) res_scores = sorted([compute_score(x) for x in states[:2]]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 2) # continue calculation through all states task.is_interruption_requested.side_effect = lambda: False i = states.index(next_state) res = run_vizrank(compute_score, chain(states[i:]), res_scores, task) next_state = self.assertQueueEqual(res.queue, [0, 3, 2, 5], compute_score, states[2:], states[3:] + [None]) self.assertIsNone(next_state) res_scores = sorted([compute_score(x) for x in states]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 6)
def test_run_vizrank(self): scores, task = [], Mock() # run through all states task.is_interruption_requested.return_value = False states = [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)] res = run_vizrank(compute_score, chain(states), scores, task) next_state = self.assertQueueEqual( res.queue, [0, 0, 0, 3, 2, 5], compute_score, states, states[1:] + [None]) self.assertIsNone(next_state) res_scores = sorted([compute_score(x) for x in states]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 6)
def test_run_vizrank(self): scores, task = [], Mock() # run through all states task.is_interruption_requested.return_value = False states = [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)] res = run_vizrank(compute_score, chain(states), scores, task) next_state = self.assertQueueEqual(res.queue, [0, 0, 0, 3, 2, 5], compute_score, states, states[1:] + [None]) self.assertIsNone(next_state) res_scores = sorted([compute_score(x) for x in states]) self.assertListEqual(res.scores, res_scores) self.assertIsNot(scores, res.scores) self.assertEqual(task.set_partial_result.call_count, 6)
def test_continuous_class(self): data = Table("housing")[::100] self.send_signal(self.widget.Inputs.data, data) run_vizrank(self.vizrank.compute_score, self.vizrank.iterate_states, None, [], 0, self.vizrank.state_count(), Mock())
def test_discrete_class(self): self.send_signal(self.widget.Inputs.data, self.data) run_vizrank(self.vizrank.compute_score, self.vizrank.iterate_states, None, [], 0, self.vizrank.state_count(), Mock())
def invoke_on_partial_result(): widget.on_partial_result(run_vizrank( widget.compute_score, widget.iterate_states(widget.saved_state), widget.scores, task ))
def test_continuous_class(self): data = Table("housing")[::100] self.send_signal(self.widget.Inputs.data, data) run_vizrank(self.vizrank.compute_score, self.vizrank.iterate_states(None), [], Mock())
def test_discrete_class(self): self.send_signal(self.widget.Inputs.data, self.data) run_vizrank(self.vizrank.compute_score, self.vizrank.iterate_states(None), [], Mock())
def invoke_on_partial_result(): widget.on_partial_result( run_vizrank(widget.compute_score, widget.iterate_states(widget.saved_state), widget.scores, task))
def invoke_on_partial_result(): widget.on_partial_result( run_vizrank(widget.compute_score, widget.iterate_states, widget.saved_state, widget.scores, widget.saved_progress, widget.state_count(), task))