Skip to content
test_ifs_sim.py 6.86 KiB
Newer Older
Yan Zhaojun's avatar
Yan Zhaojun committed
"""
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
Yan Zhaojun committed
import os
Yan Zhaojun's avatar
Yan Zhaojun committed
from csst_ifs_sim import csst_ifs_sim
Yan Zhaojun's avatar
Yan Zhaojun committed

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

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


Yan Zhaojun's avatar
Yan Zhaojun committed
class TestDemoFunction(unittest.TestCase):
    def test_ifs_sim_1(self):
        """
        Aim
        ---
Yan Zhaojun's avatar
Yan Zhaojun committed
        Test ifs sim function: SCI case.
Yan Zhaojun's avatar
Yan Zhaojun committed

        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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'SCI'
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

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

Yan Zhaojun's avatar
Yan Zhaojun committed
        ##############################################################
    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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'BIAS'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

        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
Yan Zhaojun committed
        self.assertEqual(
Yan Zhaojun's avatar
Yan Zhaojun committed
            1, 1,
Yan Zhaojun's avatar
Yan Zhaojun committed
            "case 2:  sim passes.",
        )
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        ###################################################################
    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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'DARK'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

        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
Yan Zhaojun committed
        self.assertEqual(
Yan Zhaojun's avatar
Yan Zhaojun committed
            1, 1,
Yan Zhaojun's avatar
Yan Zhaojun committed
            "case 3:  sim passes.",
        )
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
    ###################################################################
    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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'LAMP'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

        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
Yan Zhaojun committed
        self.assertEqual(
Yan Zhaojun's avatar
Yan Zhaojun committed
            1, 1,
Yan Zhaojun's avatar
Yan Zhaojun committed
            "case 4:  sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
        )

Yan Zhaojun's avatar
Yan Zhaojun committed
    ###################################################################
    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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'LAMP'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

        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
Yan Zhaojun committed
        self.assertEqual(
Yan Zhaojun's avatar
Yan Zhaojun committed
            1, 1,
Yan Zhaojun's avatar
Yan Zhaojun committed
            "case 5:  sim passes.",
        )
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
    ###################################################################
    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
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'ifs_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(sys.version)
Yan Zhaojun's avatar
Yan Zhaojun committed
        # ##configfile = dir_path+'IFS_inputdata/configData/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_ifs_sim/ifs_data/IFS_sim_C90.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'FLAT'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

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