Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from __future__ import (absolute_import, division, print_function)
import mantid
from isis_powder.abstract_inst import AbstractInst
from isis_powder.routines.instrument_settings import InstrumentSettings
from isis_powder.routines.param_map_entry import ParamMapEntry
import os
import tempfile
import unittest
import warnings
class ISISPowderAbstractInstrumentTest(unittest.TestCase):
_folders_to_remove = set()
def _create_temp_dir(self):
temp_dir = tempfile.mkdtemp()
self._folders_to_remove.add(temp_dir)
return temp_dir
def _setup_mock_inst(self, yaml_file_path):
calibration_dir = self._create_temp_dir()
output_dir = self._create_temp_dir()
calib_file_path = mantid.api.FileFinder.getFullPath(yaml_file_path)
if not calib_file_path:
self.fail("Could not find calibration file \"{}\"".format(yaml_file_path))
return _MockInst(user_name="ISISPowderAbstractInstrumentTest",
calibration_directory=calibration_dir,
output_directory=output_dir)
def tearDown(self):
for folder in self._folders_to_remove:
try:
os.rmdir(folder)
except OSError as exc:
warnings.warn("Could not remove folder at \"{}\"\n"
"Error message:\n{}".format(folder, exc))
def test_mock_inst_constructor(self):
inst = self._setup_mock_inst("ISISPowderRunDetailsTest.yaml")
class _MockInst(AbstractInst):
_param_map = [
ParamMapEntry(ext_name="calibration_directory", int_name="calibration_dir"),
ParamMapEntry(ext_name="output_directory", int_name="output_dir"),
ParamMapEntry(ext_name="user_name", int_name="user_name")
]
_advanced_config = {}
INST_PREFIX = "MOCK"
def __init__(self, **kwargs):
self._inst_settings = InstrumentSettings(param_map=self._param_map,
adv_conf_dict=self._advanced_config,
kwargs=kwargs)
super(_MockInst, self).__init__(user_name=self._inst_settings.user_name,
calibration_dir=self._inst_settings.calibration_dir,
output_dir=self._inst_settings.output_dir,
inst_prefix=self.INST_PREFIX)