def test_consistency_with_parsevasp(fresh_aiida_env, vasp_structure): """ Compare the poscar-dict returned by parsevasp to the dict created by the PoscarParser. This tests purpose is to give a warning if we are overriding keys in parsevasps poscar-dict. """ from aiida_vasp.parsers.file_parsers.poscar import parsevasp_to_aiida from parsevasp.poscar import Poscar path = data_path('poscar', 'POSCAR') poscar = Poscar(file_path=path, prec=12, conserve_order=True) poscar_dict = poscar.get_dict(direct=False) result_dict = parsevasp_to_aiida(poscar)['poscar-structure'] compare_objects(poscar_dict, result_dict)
def test_poscar_entries_dict(): """Test to check inititialization using dict. """ unitcell = np.array([[9.0164589999999993, 0., 0.], [0., 9.0164589999999993, 0.], [0., 0., 9.0164589999999993]]) sites = [] sites.append( Site('Co', np.array([0.0, 0.0, 0.0]), [True, True, True], None, None, True)) poscar_dict = { 'comment': 'Example file', 'unitcell': unitcell, 'sites': sites } poscar_parser = Poscar(poscar_dict=poscar_dict) poscar = poscar_parser.get_dict() assert poscar['comment'] == 'Example file' unitcell = poscar['unitcell'] test = np.array([[9.0164589999999993, 0., 0.], [0., 9.0164589999999993, 0.], [0., 0., 9.0164589999999993]]) np.testing.assert_allclose(unitcell, test) sites = poscar['sites'] assert len(sites) == 1 test = { 'specie': 'Co', 'position': np.array([0.0, 0.0, 0.0]), 'selective': [True, True, True], 'velocities': None, 'predictors': None, 'direct': True } np.testing.assert_allclose(sites[0]['position'], test['position']) assert sites[0]['specie'] == test['specie'] assert sites[0]['selective'] == [True, True, True] assert sites[0]['velocities'] == None assert sites[0]['predictors'] == None assert sites[0]['direct']