|
2 | 2 | import unittest
|
3 | 3 |
|
4 | 4 | import mock
|
5 |
| -from mock import call, patch |
| 5 | +from mock import call, patch, MagicMock |
6 | 6 | import numpy as np
|
7 | 7 |
|
| 8 | +from mantid.api import AnalysisDataService |
| 9 | +from mantid.simpleapi import RenameWorkspace |
| 10 | + |
| 11 | +from mslice.models.mslice_ads_observer import MSliceADSObserver |
8 | 12 | from mslice.presenters.interfaces.main_presenter import MainPresenterInterface
|
9 | 13 | from mslice.presenters.workspace_manager_presenter import WorkspaceManagerPresenter
|
10 | 14 | from mslice.views.interfaces.mainview import MainView
|
11 | 15 | from mslice.views.interfaces.workspace_view import WorkspaceView
|
12 | 16 | from mslice.widgets.workspacemanager.command import Command
|
13 | 17 | from mslice.widgets.workspacemanager import TAB_2D, TAB_NONPSD
|
14 | 18 | from mslice.util.mantid.mantid_algorithms import (AddSampleLog, CreateWorkspace, CreateSimulationWorkspace,
|
15 |
| - ConvertToMD, CloneWorkspace) |
| 19 | + ConvertToMD, CloneWorkspace, CreateSampleWorkspace) |
16 | 20 |
|
17 | 21 |
|
18 | 22 | class WorkspaceManagerPresenterTest(unittest.TestCase):
|
@@ -432,6 +436,45 @@ def test_compose_error(self):
|
432 | 436 | self.presenter.notify(Command.ComposeWorkspace)
|
433 | 437 | self.view._display_error.assert_called()
|
434 | 438 |
|
| 439 | + def test_ensure_that_the_ads_observer_calls_delete_handle(self, _): |
| 440 | + presenter = WorkspaceManagerPresenter(self.view) |
| 441 | + presenter.delete_handle = MagicMock() |
| 442 | + self.assertTrue(isinstance(presenter._ads_observer, MSliceADSObserver)) |
| 443 | + presenter._ads_observer = MSliceADSObserver( |
| 444 | + presenter.delete_handle, presenter.clear_handle, presenter.rename_handle |
| 445 | + ) |
| 446 | + |
| 447 | + CreateSampleWorkspace(OutputWorkspace="ws", StoreInADS=True) |
| 448 | + AnalysisDataService.remove("ws") |
| 449 | + |
| 450 | + presenter.delete_handle.assert_called_once_with("ws") |
| 451 | + |
| 452 | + def test_ensure_that_the_ads_observer_calls_clear_handle(self, _): |
| 453 | + presenter = WorkspaceManagerPresenter(self.view) |
| 454 | + presenter.clear_handle = MagicMock() |
| 455 | + self.assertTrue(isinstance(presenter._ads_observer, MSliceADSObserver)) |
| 456 | + presenter._ads_observer = MSliceADSObserver( |
| 457 | + presenter.delete_handle, presenter.clear_handle, presenter.rename_handle |
| 458 | + ) |
| 459 | + |
| 460 | + CreateSampleWorkspace(OutputWorkspace="ws", StoreInADS=True) |
| 461 | + AnalysisDataService.clear() |
| 462 | + |
| 463 | + presenter.clear_handle.assert_called_once() |
| 464 | + |
| 465 | + def test_ensure_that_the_ads_observer_calls_rename_handle(self, _): |
| 466 | + presenter = WorkspaceManagerPresenter(self.view) |
| 467 | + presenter.rename_handle = MagicMock() |
| 468 | + self.assertTrue(isinstance(presenter._ads_observer, MSliceADSObserver)) |
| 469 | + presenter._ads_observer = MSliceADSObserver( |
| 470 | + presenter.delete_handle, presenter.clear_handle, presenter.rename_handle |
| 471 | + ) |
| 472 | + |
| 473 | + CreateSampleWorkspace(OutputWorkspace="ws", StoreInADS=True) |
| 474 | + RenameWorkspace(InputWorkspace="ws", OutputWorkspace="ws1") |
| 475 | + |
| 476 | + presenter.rename_handle.assert_called_once_with("ws", "ws1") |
| 477 | + |
435 | 478 |
|
436 | 479 | if __name__ == '__main__':
|
437 | 480 | unittest.main()
|
0 commit comments