Пример #1
0
    def test_two_shells(self):
        conf_pars = ConfigParameters(_rpath + 'parse_shells_4.cfg')
        conf_pars.parse_shells()
        res = conf_pars.shells
        expected = [{
            'user_index': 1,
            'lshell': 2,
            'ion_list': np.array([4, 5, 6, 7])
        }, {
            'user_index':
            2,
            'lshell':
            1,
            'ion_list':
            np.array([0, 1, 2, 3]),
            'tmatrix':
            np.array([[0., 1., 0.], [1., 0., 0.], [0., 0., 1.]])
        }]
        # ...lousy way to test equality of two dictionaries containing numpy arrays
        self.assertEqual(len(res), len(expected))

        arr = res[0].pop('ion_list')
        arr_exp = expected[0].pop('ion_list')
        self.assertEqual(arr, arr_exp)

        arr = res[1].pop('ion_list')
        arr_exp = expected[1].pop('ion_list')
        self.assertEqual(arr, arr_exp)

        arr = res[1].pop('tmatrix')
        arr_exp = expected[1].pop('tmatrix')
        self.assertEqual(arr, arr_exp)

        self.assertListEqual(res, expected)
Пример #2
0
    def test_two_shells_with_corr_false(self):
        conf_pars = ConfigParameters(_rpath + 'parse_shells_5.cfg')
        conf_pars.parse_shells()
        res = conf_pars.shells
        expected = [{
            'user_index': 1,
            'lshell': 2,
            'ions': {
                'nion': 4,
                'ion_list': [[4], [5], [6], [7]]
            },
            'corr': True,
            'ion_sort': None
        }, {
            'user_index': 2,
            'lshell': 1,
            'ions': {
                'nion': 4,
                'ion_list': [[0], [1], [2], [3]]
            },
            'corr': False,
            'ion_sort': None
        }]
        self.assertEqual(len(res), len(expected))

        arr = res[0].pop('ions')
        arr_exp = expected[0].pop('ions')
        self.assertDictEqual(arr, arr_exp)

        arr = res[1].pop('ions')
        arr_exp = expected[1].pop('ions')
        self.assertDictEqual(arr, arr_exp)

        self.assertListEqual(res, expected)
Пример #3
0
    def test_two_shells(self):
        conf_pars = ConfigParameters(_rpath + 'parse_shells_4.cfg')
        conf_pars.parse_shells()
        res = conf_pars.shells
        expected = [{
            'user_index': 1,
            'lshell': 2,
            'ions': {
                'nion': 4,
                'ion_list': [[4], [5], [6], [7]]
            },
            'corr': True,
            'ion_sort': None
        }, {
            'user_index':
            2,
            'lshell':
            1,
            'ions': {
                'nion': 4,
                'ion_list': [[0], [1], [2], [3]]
            },
            'tmatrix':
            np.array([[0., 1., 0.], [1., 0., 0.], [0., 0., 1.]]),
            'corr':
            True,
            'ion_sort':
            None
        }]
        # ...lousy way to test equality of two dictionaries containing numpy arrays
        self.assertEqual(len(res), len(expected))

        arr = res[0].pop('ions')
        arr_exp = expected[0].pop('ions')
        self.assertDictEqual(arr, arr_exp)

        arr = res[1].pop('ions')
        arr_exp = expected[1].pop('ions')
        self.assertDictEqual(arr, arr_exp)

        arr = res[1].pop('tmatrix')
        arr_exp = expected[1].pop('tmatrix')
        self.assertEqual(arr, arr_exp)

        self.assertListEqual(res, expected)
Пример #4
0
 def test_sh_required(self):
     conf_pars = ConfigParameters(_rpath + 'parse_shells_3.cfg')
     err_mess = "Required parameter"
     with self.assertRaisesRegexp(Exception, err_mess):
         conf_pars.parse_shells()
Пример #5
0
 def test_bad_indices(self):
     conf_pars = ConfigParameters(_rpath + 'parse_shells_2.cfg')
     err_mess = "Failed to extract shell indices"
     with self.assertRaisesRegexp(ValueError, err_mess):
         conf_pars.parse_shells()
Пример #6
0
 def test_no_shell(self):
     conf_pars = ConfigParameters(_rpath + 'parse_shells_1.cfg')
     err_mess = "No projected shells"
     with self.assertRaisesRegexp(AssertionError, err_mess):
         conf_pars.parse_shells()