Skip to content
test_mci_sim.py 5.96 KiB
Newer Older
Yan Zhaojun's avatar
Yan Zhaojun committed
"""
Yan Zhaojun's avatar
Yan Zhaojun committed
Identifier:     mci_sim/tests/test_mci_sim.py
Name:           test_mci_sim.py
Description:    Test mci sim.
Yan Zhaojun's avatar
Yan Zhaojun committed
Author:         Zhaojun Yan
Created:        2024-04-09
Modified-History:
    2024-04-09, Zhaojun Yan, created

"""

import unittest
import os
import sys
Yan Zhaojun's avatar
Yan Zhaojun committed
import faulthandler
Yan Zhaojun's avatar
Yan Zhaojun committed
from csst_mci_sim import csst_mci_sim
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
class TestDemoFunction(unittest.TestCase):
Yan Zhaojun's avatar
Yan Zhaojun committed
    def test_mci_sim_1(self):
Yan Zhaojun's avatar
Yan Zhaojun committed
        """
        Aim
        ---
Yan Zhaojun's avatar
Yan Zhaojun committed
        Test mci sim function: EXDF 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`.
        """
Yan Zhaojun's avatar
Yan Zhaojun committed
        faulthandler.enable()
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # demo function test
Yan Zhaojun's avatar
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'mci_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # 获取当前工作目录
Yan Zhaojun's avatar
Yan Zhaojun committed
        # current_path = os.getcwd()
Yan Zhaojun's avatar
Yan Zhaojun committed
        # print("当前路径:", current_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_mci_sim/mci_data/mci_C10.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

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

        debug = True

        result_path = dir_path + 'mci_sim_result/'

        csst_mci_sim.runMCIsim(sourcein,  configfile,
                               dir_path, result_path, debug, 1)

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: EXDF sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
        )
Yan Zhaojun's avatar
Yan Zhaojun committed
    ############################################
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
    def test_mci_sim_2(self):
        """
        Aim
        ---
        Test mci sim function: STAR case.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        Criteria
        --------
        Pass if the demo function returns `1`.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        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`.
        """
        faulthandler.enable()
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # demo function test
Yan Zhaojun's avatar
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'mci_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # 获取当前工作目录
Yan Zhaojun's avatar
Yan Zhaojun committed
        # current_path = os.getcwd()
Yan Zhaojun's avatar
Yan Zhaojun committed
        # print("当前路径:", current_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_mci_sim/mci_data/mci_C10.config'
Yan Zhaojun's avatar
Yan Zhaojun committed

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

        debug = True

        result_path = dir_path + 'mci_sim_result/'

        csst_mci_sim.runMCIsim(sourcein,  configfile,
                               dir_path, result_path, debug, 1)

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: STAR sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
        )

Yan Zhaojun's avatar
Yan Zhaojun committed
    #########################################################
    def test_mci_sim_3(self):
        """
        Aim
        ---
        Test mci sim function: BIAS case.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        Criteria
        --------
        Pass if the demo function returns `1`.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        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`.
        """
        faulthandler.enable()
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # demo function test
Yan Zhaojun's avatar
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'mci_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # 获取当前工作目录
Yan Zhaojun's avatar
Yan Zhaojun committed
        # current_path = os.getcwd()
Yan Zhaojun's avatar
Yan Zhaojun committed
        # print("当前路径:", current_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_mci_sim/mci_data/mci_C10.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 + 'mci_sim_result/'

        csst_mci_sim.runMCIsim(sourcein,  configfile,
                               dir_path, result_path, debug, 1)

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: BIAS sim passes.",
        )
    #########################################################
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
    def test_mci_sim_4(self):
        """
        Aim
        ---
        Test mci sim function: DARK case.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        Criteria
        --------
        Pass if the demo function returns `1`.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        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`.
        """
        faulthandler.enable()
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # demo function test
Yan Zhaojun's avatar
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'mci_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # 获取当前工作目录
Yan Zhaojun's avatar
Yan Zhaojun committed
        # current_path = os.getcwd()
Yan Zhaojun's avatar
Yan Zhaojun committed
        # print("当前路径:", current_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_mci_sim/mci_data/mci_C10.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 + 'mci_sim_result/'

        csst_mci_sim.runMCIsim(sourcein,  configfile,
                               dir_path, result_path, debug, 1)

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: DARK sim passes.",
Yan Zhaojun's avatar
Yan Zhaojun committed
        )

Yan Zhaojun's avatar
Yan Zhaojun committed
    #########################################################
    def test_mci_sim_5(self):
        """
        Aim
        ---
        Test mci sim function: FLAT case.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        Criteria
        --------
        Pass if the demo function returns `1`.
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        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`.
        """
        faulthandler.enable()
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # demo function test
Yan Zhaojun's avatar
Yan Zhaojun committed
        dir_path = os.path.join(os.environ['UNIT_TEST_DATA_ROOT'], 'mci_sim/')
Yan Zhaojun's avatar
Yan Zhaojun committed
        print(dir_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        # 获取当前工作目录
Yan Zhaojun's avatar
Yan Zhaojun committed
        # current_path = os.getcwd()
Yan Zhaojun's avatar
Yan Zhaojun committed
        # print("当前路径:", current_path)
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
        configfile = './csst_mci_sim/mci_data/mci_C10.config'
Yan Zhaojun's avatar
Yan Zhaojun committed
        sourcein = 'FLAT'
        print(configfile)
Yan Zhaojun's avatar
Yan Zhaojun committed

        debug = True

        result_path = dir_path + 'mci_sim_result/'

        csst_mci_sim.runMCIsim(sourcein,  configfile,
                               dir_path, result_path, debug, 1)

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: FLAT sim passes.",
        )
Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed

Yan Zhaojun's avatar
Yan Zhaojun committed
# ############################################################################