test_ifs_sim.py 6.92 KB
Newer Older
Yan Zhaojun's avatar
Yan Zhaojun committed
1
2
3
4
5
6
7
8
9
10
11
12
"""
Identifier:     ifs_sim/tests/test_ifs_sim.py
Name:           test_ifs_sim.py
Description:    Test ifs sim.
Author:         Zhaojun Yan
Created:        2024-04-09
Modified-History:
    2024-04-09, Zhaojun Yan, created

"""

import unittest
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
13
import os
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
14
from csst_ifs_sim import csst_ifs_sim
Yan Zhaojun's avatar
debug    
Yan Zhaojun committed
15

Yan Zhaojun's avatar
Yan Zhaojun committed
16
import sys
Yan Zhaojun's avatar
Yan Zhaojun committed
17

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
18
# sys.path.append('IFS_git/csst_ifs_sim/csst_ifs_sim')
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
19
20


Yan Zhaojun's avatar
Yan Zhaojun committed
21
22
23
24
25
class TestDemoFunction(unittest.TestCase):
    def test_ifs_sim_1(self):
        """
        Aim
        ---
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
26
        Test ifs sim function: SCI case.
Yan Zhaojun's avatar
Yan Zhaojun committed
27
28
29
30
31
32
33
34
35
36
37

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
38
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
39
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
40
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
41
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
42

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
43
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
44

Yan Zhaojun's avatar
Yan Zhaojun committed
45
        sourcein = 'SCI'
Yan Zhaojun's avatar
Yan Zhaojun committed
46
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
47
48
49

        debug = True

Yan Zhaojun's avatar
Yan Zhaojun committed
50
51
        #result_path = dir_path+'ifs_sim_result'
        result_path =os.path.join(dir_path, 'ifs_sim_result')
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
52
53
54
55

        csst_ifs_sim.runIFSsim(sourcein, configfile,
                               dir_path, result_path, 1, debug, 'no')

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
56
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
57
            1, 1,
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
58
            "case 1: SCI sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
59
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
60

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
        ##############################################################
    def test_ifs_sim_2(self):
        """
        Aim
        ---
        Test ifs sim function: SCI case.

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
78
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
79
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
80
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
81
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
82

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
83
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
84

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
85
86
        sourcein = 'BIAS'
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
87
88
89
90
91
92
93

        debug = True
        result_path = dir_path+'ifs_sim_result'

        csst_ifs_sim.runIFSsim(sourcein,  configfile,
                               dir_path, result_path, 1, debug, 'no')

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
94
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
95
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
96
97
            "case 2:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
98

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
        ###################################################################
    def test_ifs_sim_3(self):
        """
        Aim
        ---
        Test ifs sim function: SCI case.

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
116
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
117
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
118
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
119
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
120

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
121
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
122

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
123
124
        sourcein = 'DARK'
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
125
126
127
128
129
130
131

        debug = True
        result_path = dir_path+'ifs_sim_result'

        csst_ifs_sim.runIFSsim(sourcein,  configfile,
                               dir_path, result_path, 1, debug, 'no')

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
132
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
133
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
134
135
            "case 3:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
136

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
    ###################################################################
    def test_ifs_sim_4(self):
        """
        Aim
        ---
        Test ifs sim function: SCI case.

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
154
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
155
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
156
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
157
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
158

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
159
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
160

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
161
162
        sourcein = 'LAMP'
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
163
164
165
166
167
168
169
170

        debug = True

        result_path = dir_path+'ifs_sim_result'

        csst_ifs_sim.runIFSsim(sourcein,  configfile,
                               dir_path, result_path, 1, debug, 'no')

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
171
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
172
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
173
            "case 4:  sim passes.",
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
174
175
        )

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
    ###################################################################
    def test_ifs_sim_5(self):
        """
        Aim
        ---
        Test ifs sim function: SCI case.

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
193
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
194
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
195
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
196
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
197

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
198
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
199

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
200
201
        sourcein = 'LAMP'
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
202
203
204
205
206
207

        debug = True
        result_path = dir_path+'ifs_sim_result'

        csst_ifs_sim.runIFSsim(sourcein,  configfile,
                               dir_path, result_path, 1, debug, 'yes')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
208
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
209
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
210
211
            "case 5:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
212

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
    ###################################################################
    def test_ifs_sim_6(self):
        """
        Aim
        ---
        Test ifs sim function: SCI case.

        Criteria
        --------
        Pass if the demo function returns `1`.

        Details
        -------
        The demo function returns the length of the input argument list.
        This case aims to test whether the demo function returns `1` if input is `None`.
        """
        # demo function test
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
230
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
231
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
232
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
233
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
234

Yan Zhaojun's avatar
update    
Yan Zhaojun committed
235
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C10.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
236

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
237
238
        sourcein = 'FLAT'
        print(configfile)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
239
240
241
242
243
244
245

        debug = True

        result_path = dir_path+'ifs_sim_result'

        csst_ifs_sim.runIFSsim(sourcein,  configfile,
                               dir_path, result_path, 1, debug, 'no')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
246
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
247
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
248
249
            "case 6:  sim passes.",
        )