3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-23 04:43:42 +01:00
dft_tools/python/vasp/test/_inpconf/test_groups.py
Oleg E. Peil c8badb39ff Fixed 'inpconf' tests
Originally, the tests worked only when run from their respective
directory. If one tries to run them from another directory (which happens
when test discovery is used) the tests were not able to find the input files.
Now, a dummy module 'rpath' is added to all tests whose sole role is
to obtain the current path.
2015-10-16 11:16:48 +02:00

49 lines
1.4 KiB
Python

r"""
Tests of 'parse_groups()' defined in ConfigParameters class
"""
import os
import rpath
_rpath = os.path.dirname(rpath.__file__) + '/'
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseGroups
#
################################################################################
class TestParseGroups(arraytest.ArrayTestCase):
"""
Function:
def parse_groups(self)
Scenarios:
- **if** a [Group] section does not contain all required parameters
**raise** Exception
- **if** a correct group section is defined **return** a list of dictionaries
"""
# Scenario 1
def test_gr_required(self):
conf_pars = ConfigParameters(_rpath + 'parse_groups_1.cfg')
err_mess = "Required parameter"
with self.assertRaisesRegexp(Exception, err_mess):
conf_pars.parse_groups()
# Scenario 2
def test_example(self):
conf_pars = ConfigParameters(_rpath + 'example.cfg')
conf_pars.parse_groups()
res = conf_pars.groups
expected = [{'index': 1, 'shells': [1, 2], 'emin': -7.6, 'emax': 3.0,
'normalize': True, 'normion': False},
{'index': 2, 'shells': [3], 'emin': -1.6, 'emax': 2.0,
'normalize': True, 'normion': False}]
self.assertListEqual(res, expected)