test_ifs_sim.py 6.86 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_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
42

Yan Zhaojun's avatar
debug    
Yan Zhaojun committed
43
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.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
50
51
52
53
54

        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
update    
Yan Zhaojun committed
55
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
56
            1, 1,
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
57
            "case 1: SCI sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
58
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
59

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
        ##############################################################
    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
77
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
78
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
79
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
80
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
81

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
82
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
83

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

        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
93
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
94
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
95
96
            "case 2:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
97

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
        ###################################################################
    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
115
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
116
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
117
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
118
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
119

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
120
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
121

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

        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
131
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
132
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
133
134
            "case 3:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
135

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
    ###################################################################
    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
153
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
154
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
155
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
156
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
157

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
158
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
159

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

        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
170
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
171
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
172
            "case 4:  sim passes.",
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
173
174
        )

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
    ###################################################################
    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
192
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
193
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
194
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
195
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
196

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
197
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
198

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

        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
207
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
208
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
209
210
            "case 5:  sim passes.",
        )
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
211

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
    ###################################################################
    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
229
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
230
        print(dir_path)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
231
        print(sys.version)
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
232
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
233

Yan Zhaojun's avatar
test    
Yan Zhaojun committed
234
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
235

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

        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
245
        self.assertEqual(
Yan Zhaojun's avatar
update    
Yan Zhaojun committed
246
            1, 1,
Yan Zhaojun's avatar
test    
Yan Zhaojun committed
247
248
            "case 6:  sim passes.",
        )