from crystalpol.shared.config import Config import unittest class TestConfig(unittest.TestCase): def test_class_instantiation(self): config = Config( mem=1, level="b3lyp/aug-cc-pVDZ", n_atoms=10 ) self.assertIsInstance(config, Config) def test_config_raises_exception_on_mem_none(self): with self.assertRaises(ValueError): Config( mem=None, level="b3lyp/aug-cc-pVDZ", n_atoms=10 ) def test_config_raises_exception_on_mem_zero_or_negative(self): with self.assertRaises(ValueError): Config( mem=0, level="b3lyp/aug-cc-pVDZ", n_atoms=10 ) with self.assertRaises(ValueError): Config( mem=-1, level="b3lyp/aug-cc-pVDZ", n_atoms=10 ) def test_config_raises_exception_on_level_none(self): with self.assertRaises(ValueError): Config( mem=1, level=None, n_atoms=10 ) def test_config_raises_exception_on_n_atoms_zero(self): with self.assertRaises(ValueError): Config( mem=1, level="b3lyp/aug-cc-pVDZ", n_atoms=0 )