3
0
mirror of https://github.com/triqs/dft_tools synced 2024-06-24 14:12:21 +02:00
dft_tools/python/vasp/test/_inpconf/test_groups.py
Oleg E. Peil 819fc987f0 Reshuffled files after repository merge
The files from the original vasp-interface repository are reshuffled in
accord with the directory structure of dft_tools. Some of the directories,
such as 'test' (unit tests for the interface), 'examples' (simple examples for
the development purposes) are temporarily placed into 'python/vasp' directory
to avoid confusion with integral tests and examples of dft_tools.
2015-10-13 11:27:55 +02:00

45 lines
1.3 KiB
Python

r"""
Tests of 'parse_groups()' defined in ConfigParameters class
"""
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('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('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)