diff --git a/devtools/conda-envs/mols.yml b/devtools/conda-envs/mols.yml index 19251e47..ba742ce2 100644 --- a/devtools/conda-envs/mols.yml +++ b/devtools/conda-envs/mols.yml @@ -8,9 +8,11 @@ dependencies: - pandas - scipy - libffi + - importlib_resources - pip - pip: - pytest + - pytest-resource-path # Optional # GUI / plotting diff --git a/devtools/conda-envs/mols_minimal.yml b/devtools/conda-envs/mols_minimal.yml index 4b03fedf..236744f9 100644 --- a/devtools/conda-envs/mols_minimal.yml +++ b/devtools/conda-envs/mols_minimal.yml @@ -8,6 +8,8 @@ dependencies: - pandas - scipy - libffi + - importlib_resources - pip - pip: - pytest + - pytest-resource-path diff --git a/molSimplify/Classes/mGUI.py b/molSimplify/Classes/mGUI.py index 748a42a5..eb45d283 100644 --- a/molSimplify/Classes/mGUI.py +++ b/molSimplify/Classes/mGUI.py @@ -39,7 +39,7 @@ import glob import tempfile import re -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files import xml.etree.ElementTree as ET try: @@ -142,8 +142,7 @@ def initGUI(self, app): helpAction.triggered.connect(self.qshowhelp) menu2.addAction(helpAction) # ## place title top ### - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/logo.png") + f = resource_files("molSimplify").joinpath("icons/logo.png") clogo = mQPixmap(f) self.grid.addWidget(clogo, 2, 8, 1, 10) self.txtdev = mQLabel('Developed by Kulik group @ MIT', '', 'c', 16) @@ -363,8 +362,7 @@ def initGUI(self, app): if globs.custom_path: f = globs.custom_path + "/Ligands/ligands.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Ligands/ligands.dict") + f = str(resource_files("molSimplify").joinpath("Ligands/ligands.dict")) qcav0 = getligroups(readdict(f)) qcav = [_f for _f in qcav0.split(' ') if _f] self.etliggrp = mQComboBox(qcav, ctip, 12) @@ -613,8 +611,7 @@ def initGUI(self, app): self.qctWindow.setPalette(p) # set background color self.qctWindow.setLayout(self.qctgrid) # set layout - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/petachem.png") + f = resource_files("molSimplify").joinpath("icons/petachem.png") c0 = mQPixmap(f) self.qctgrid.addWidget(c0, 0, 2, 1, 1) # top text @@ -876,10 +873,8 @@ def initGUI(self, app): self.sgrid.addWidget(self.jWindow) # add to stacked grid self.jWindow.setPalette(p) # set background color self.jWindow.setLayout(self.jgrid) # set layout - f1 = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/sge.png") - f2 = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/slurm.png") + f1 = resource_files("molSimplify").joinpath("icons/sge.png") + f2 = resource_files("molSimplify").joinpath("icons/slurm.png") c1 = mQPixmap(f1) c2 = mQPixmap(f2) self.jgrid.addWidget(c1, 1, 2, 1, 1) @@ -1181,8 +1176,7 @@ def initGUI(self, app): self.etcDBmw1 = mQLineEdit('', ctip, 'l', 14) self.cDBgrid.addWidget(self.etcDBmw1, 11, 8, 1, 1) # aspirin icon - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/chemdb.png") + f = resource_files("molSimplify").joinpath("icons/chemdb.png") c = mQPixmap(f) relresize(c, c, 0.4) self.cDBgrid.addWidget(c, 7, 0, 4, 2) @@ -1271,8 +1265,7 @@ def initGUI(self, app): self.butpret.clicked.connect(self.qretmain) self.pgrid.addWidget(self.butpret, 7, 3, 1, 2) # c1p = mPic(self.pWindow,globs.installdir+'/icons/wft1.png',0.04,0.7,0.2) - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/wft3.png") + f = resource_files("molSimplify").joinpath("icons/wft3.png") c3p = mQPixmap(f) self.pgrid.addWidget(c3p, 3, 0, 4, 1) # c2p = mPic(self.pWindow,globs.installdir+'/icons/wft2.png',0.04,0.035,0.2) @@ -1746,8 +1739,7 @@ def qaddg(self): if globs.custom_path: f = globs.custom_path + "/Data/coordinations.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/coordinations.dict") + f = str(resource_files("molSimplify").joinpath("Data/coordinations.dict")) with open(f, 'r') as fl: s = fl.read().splitlines() if gname.lower() in s: @@ -1790,8 +1782,7 @@ def qaddg(self): fl.write(xyzl) # write png file if glob.glob(cfile): - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/geoms/") + f = str(resource_files("molSimplify").joinpath("icons/geoms/")) shutil.copy2(cfile, f+gshort+'.png') choice = QMessageBox.information( self.geWindow, 'Add', 'Successfully added to the database!') @@ -1827,8 +1818,7 @@ def qdelg(self): if globs.custom_path: f = globs.custom_path + "/Data/coordinations.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/coordinations.dict") + f = str(resource_files("molSimplify").joinpath("Data/coordinations.dict")) with open(f, 'r') as fl: s = fl.read() if gname.lower() not in s and gshort.lower() not in s: @@ -1847,8 +1837,7 @@ def qdelg(self): if globs.custom_path: f = globs.custom_path + "/Data/coordinations.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/coordinations.dict") + f = str(resource_files("molSimplify").joinpath("Data/coordinations.dict")) with open(f, 'w') as fl: fl.write(snew) # remove file @@ -2076,8 +2065,7 @@ def drawligs_svg(self): def viewgeom(self): # get geometry geom = self.dcoordg.currentText() - gfname = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/icons/geoms/" + geom + ".png") + gfname = str(resource_files("molSimplify").joinpath(f"icons/geoms/{geom}.png")) if glob.glob(gfname): rows = self.lgrid.rowCount() # Clear existing widgets in layout @@ -2268,8 +2256,7 @@ def matchgeomcoord(self): # add to box for i, t in enumerate(qc): # File f is never actually used? RM 2022/02/17 - f = resource_filename(Requirement.parse( # noqa F841 - "molSimplify"), "molSimplify/icons/geoms/" + t + ".png") + f = str(resource_files("molSimplify").joinpath(f"icons/geoms/{t}.png")) # noqa F841 self.dcoordg.addItem(QIcon(t), t) self.dcoordg.setIconSize(QSize(60, 60)) # set default geometry diff --git a/molSimplify/Classes/mol3D.py b/molSimplify/Classes/mol3D.py index 74ebed78..fac36b70 100644 --- a/molSimplify/Classes/mol3D.py +++ b/molSimplify/Classes/mol3D.py @@ -2672,7 +2672,7 @@ def returnxyz(self): ss += "%s \t%f\t%f\t%f\n" % (atom.sym, xyz[0], xyz[1], xyz[2]) return (ss) - def readfromxyz(self, filename, ligand_unique_id=False, read_final_optim_step=False): + def readfromxyz(self, filename: str, ligand_unique_id=False, read_final_optim_step=False): """ Read XYZ into a mol3D class instance. @@ -2693,8 +2693,7 @@ def readfromxyz(self, filename, ligand_unique_id=False, read_final_optim_step=Fa amassdict = globs.amass() self.graph = [] self.xyzfile = filename - fname = filename.split('.xyz')[0] - with open(fname + '.xyz', 'r') as f: + with open(filename, 'r') as f: s = f.read().splitlines() try: atom_count = int(s[0]) diff --git a/molSimplify/Informatics/MOF/MOF_functionalizer.py b/molSimplify/Informatics/MOF/MOF_functionalizer.py index f1646b8f..07068868 100644 --- a/molSimplify/Informatics/MOF/MOF_functionalizer.py +++ b/molSimplify/Informatics/MOF/MOF_functionalizer.py @@ -16,7 +16,7 @@ XYZ_connected, write_cif, ) -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files import numpy as np import scipy import networkx as nx @@ -1257,8 +1257,7 @@ def functionalize_MOF_at_indices_mol3D_merge(cif_file, path2write, functional_gr # Load in the mol3D from the folder molSimplify folder monofunctionalized_BDC. functional_group_template = mol3D() - func_group_xyz_path = resource_filename(Requirement.parse( - "molSimplify"), f"molSimplify/Informatics/MOF/monofunctionalized_BDC/{functional_group}.xyz") + func_group_xyz_path = str(resource_files("molSimplify").joinpath(f"Informatics/MOF/monofunctionalized_BDC/{functional_group}.xyz")) functional_group_template.readfromxyz(func_group_xyz_path) # This is a whole BDC linker with the requested functional group on it. # Read information about the important indices of the functional_group_template. diff --git a/molSimplify/Informatics/geometrics.py b/molSimplify/Informatics/geometrics.py index fef36431..a60ea60e 100644 --- a/molSimplify/Informatics/geometrics.py +++ b/molSimplify/Informatics/geometrics.py @@ -1,7 +1,7 @@ import numpy as np import json -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from molSimplify.Classes.mol3D import mol3D @@ -17,7 +17,7 @@ def get_percentile_csd_geometrics(geometrics_csd, geodict, geotype, maxdent, metrics: list, a list of geometric considered. path2metric: str, the molSimplify path to load geometrics_csd if geometrics_csd is not specified ''' - jsonpath = resource_filename(Requirement.parse("molSimplify"), path2metric) + jsonpath = resource_files("molSimplify").joinpath(path2metric) if not isinstance(geometrics_csd, dict): print("loading csd geometrics...") with open(jsonpath, "r") as f: diff --git a/molSimplify/Scripts/io.py b/molSimplify/Scripts/io.py index 4bfe61c3..6dd5eac6 100644 --- a/molSimplify/Scripts/io.py +++ b/molSimplify/Scripts/io.py @@ -19,7 +19,7 @@ except ImportError: import openbabel # fallback to version 2 from typing import Any, List, Dict, Tuple, Union, Optional -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from molSimplify.Classes.globalvars import (globalvars, romans) @@ -34,8 +34,7 @@ def printgeoms(): if globs.custom_path: f = globs.custom_path + "/Data/coordinations.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/coordinations.dict") + f = resource_files("molSimplify").joinpath("Data/coordinations.dict") with open(f, 'r') as f: s = f.read().splitlines() s = [_f for _f in s if _f] @@ -64,8 +63,7 @@ def getgeoms(): if globs.custom_path: f = globs.custom_path + "/Data/coordinations.dict" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/coordinations.dict") + f = resource_files("molSimplify").joinpath("Data/coordinations.dict") with open(f, 'r') as f: s = f.read().splitlines() s = [_f for _f in s if _f] @@ -164,8 +162,7 @@ def getlicores(flip: bool = True) -> Dict[str, Any]: if globs.custom_path: # test if a custom path is used: licores_path = str(globs.custom_path).rstrip('/') + "/Ligands/ligands.dict" else: - licores_path = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Ligands/ligands.dict") + licores_path = resource_files("molSimplify").joinpath("Ligands/ligands.dict") licores = readdict(licores_path) if flip: for ligand in list(licores.keys()): @@ -195,8 +192,7 @@ def getslicores() -> Dict[str, Any]: slicores_path = str(globs.custom_path).rstrip( '/') + "/Ligands/simple_ligands.dict" else: - slicores_path = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Ligands/simple_ligands.dict") + slicores_path = resource_files("molSimplify").joinpath("Ligands/simple_ligands.dict") slicores = readdict(slicores_path) return slicores @@ -245,8 +241,7 @@ def getbcores() -> dict: if globs.custom_path: # test if a custom path is used: bcores_path = str(globs.custom_path).rstrip('/') + "/Bind/bind.dict" else: - bcores_path = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Bind/bind.dict") + bcores_path = resource_files("molSimplify").joinpath("Bind/bind.dict") bcores = readdict(bcores_path) return bcores @@ -275,8 +270,7 @@ def getmcores(): if globs.custom_path: # test if a custom path is used: mcores = str(globs.custom_path).rstrip('/') + "/Cores/cores.dict" else: - mcores = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Cores/cores.dict") + mcores = resource_files("molSimplify").joinpath("Cores/cores.dict") mcores = readdict(mcores) return mcores @@ -306,8 +300,7 @@ def getsubcores(): subcores = str(globs.custom_path).rstrip( '/') + "/Substrates/substrates.dict" else: - subcores = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Substrates/substrates.dict") + subcores = resource_files("molSimplify").joinpath("Substrates/substrates.dict") subcores = readdict_sub(subcores) return subcores @@ -323,8 +316,7 @@ def loaddata(path: str) -> dict: if globs.custom_path: # test if a custom path is used: fname = str(globs.custom_path).rstrip('/') + path else: - fname = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify"+path) + fname = resource_files("molSimplify").joinpath(path.strip('/')) d = dict() with open(fname) as f: @@ -348,8 +340,7 @@ def loaddata_ts(path: str) -> dict: if globs.custom_path: # test if a custom path is used: fname = str(globs.custom_path).rstrip('/') + path else: - fname = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify"+path) + fname = resource_files("molSimplify").joinpath(path.strip('/')) d = dict() with open(fname) as f: @@ -452,8 +443,7 @@ def loadcoord(coord: str) -> List[List[float]]: if globs.custom_path: f = globs.custom_path + "/Data/" + coord + ".dat" else: - f = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Data/" + coord + ".dat") + f = resource_files("molSimplify").joinpath(f"Data/{coord}.dat") with open(f) as f: txt = [_f for _f in f.read().splitlines() if _f] b = [] @@ -485,8 +475,7 @@ def core_load(usercore: str, mcores: Optional[dict] = None) -> Tuple[Union[mol3D if globs.custom_path: fcore = globs.custom_path + "/Cores/" + dbentry[0] else: - fcore = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Cores/" + dbentry[0]) + fcore = str(resource_files("molSimplify").joinpath(f"Cores/{dbentry[0]}")) # check if core xyz/mol file exists if not glob.glob(fcore): emsg = "We can't find the core structure file %s right now! Something is amiss. Exiting..\n" % fcore @@ -582,8 +571,7 @@ def substr_load(usersubstrate: str, if globs.custom_path: fsubst = globs.custom_path + "/Substrates/" + var_list_sub_i[0] else: - fsubst = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Substrates/" + var_list_sub_i[0]) + fsubst = str(resource_files("molSimplify").joinpath(f"Substrates/{var_list_sub_i[0]}")) # check if substrate xyz/mol file exists if not glob.glob(fsubst): emsg = "We can't find the substrate structure file %s right now! Something is amiss. Exiting..\n" % fsubst @@ -706,8 +694,7 @@ def lig_load(userligand: str, licores: Optional[dict] = None) -> Tuple[Any, str] if globs.custom_path: flig = globs.custom_path + "/Ligands/" + dbentry[0] else: - flig = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Ligands/" + dbentry[0]) + flig = str(resource_files("molSimplify").joinpath(f"Ligands/{dbentry[0]}")) # check if ligand xyz/mol file exists print(('looking for '+flig)) if not os.path.isfile(flig): @@ -753,7 +740,6 @@ def lig_load(userligand: str, licores: Optional[dict] = None) -> Tuple[Any, str] lig.ffopt = dbentry[4][0] # load from file elif ('.mol' in userligand or '.xyz' in userligand or '.smi' in userligand or '.sdf' in userligand): - # flig = resource_filename(Requirement.parse("molSimplify"),"molSimplify/" +userligand) if glob.glob(userligand): ftype = userligand.split('.')[-1] # try and catch error if conversion doesn't work @@ -818,8 +804,7 @@ def bind_load(userbind: str, bindcores: dict) -> Tuple[Union[mol3D, None], bool, if globs.custom_path: fbind = globs.custom_path + "/Bind/" + bindcores[userbind][0] else: - fbind = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Bind/" + bindcores[userbind][0]) + fbind = str(resource_files("molSimplify").joinpath(f"Bind/{bindcores[userbind][0]}")) # check if bind xyz/mol file exists if not glob.glob(fbind): emsg = "We can't find the binding species structure file %s right now! Something is amiss. Exiting..\n" % fbind @@ -903,8 +888,7 @@ def getinputargs(args, fname: str): def plugin_defs() -> str: - plugin_path = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/plugindefines_reference.txt") + plugin_path = str(resource_files("molSimplify").joinpath("plugindefines_reference.txt")) return plugin_path # def get_name(args,rootdir,core,ligname,bind = False,bsmi = False): @@ -1144,16 +1128,11 @@ def copy_to_custom_path(): if not os.path.exists(globs.custom_path): os.makedirs(globs.custom_path) # copytree cannot overwrite, need to enusre directory does not exist already - core_dir = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Cores") - li_dir = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Ligands") - bind_dir = (resource_filename( - Requirement.parse("molSimplify"), "molSimplify/Bind")) - data_dir = (resource_filename( - Requirement.parse("molSimplify"), "molSimplify/Data")) - subs_dir = (resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/Substrates")) + core_dir = resource_files("molSimplify").joinpath("Cores") + li_dir = resource_files("molSimplify").joinpath("Ligands") + bind_dir = resource_files("molSimplify").joinpath("Bind") + data_dir = resource_files("molSimplify").joinpath("Data") + subs_dir = resource_files("molSimplify").joinpath("Substrates") if os.path.exists(str(globs.custom_path).rstrip("/")+"/Cores"): print('Note: removing old molSimplify data') shutil.rmtree(str(globs.custom_path).rstrip("/")+"/Cores") diff --git a/molSimplify/Scripts/krr_prep.py b/molSimplify/Scripts/krr_prep.py index 71661dd5..8e8df087 100644 --- a/molSimplify/Scripts/krr_prep.py +++ b/molSimplify/Scripts/krr_prep.py @@ -13,7 +13,7 @@ import matplotlib.pyplot as plt import matplotlib.ticker as ticker import pandas as pd -from pkg_resources import (resource_filename, Requirement) +from importlib_resources import files as resource_files import numpy as np @@ -692,8 +692,7 @@ def krr_model_predict(core3D, spin, mligcatom): if globs.custom_path: # test if a custom path is used: fpath = str(globs.custom_path).rstrip('/') + "/python_krr" else: - fpath = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/python_krr") + fpath = str(resource_files("molSimplify").joinpath("python_krr")) # load model f_model = fpath + '/hat_krr_model.pkl' with open(f_model, 'rb') as f: @@ -915,10 +914,8 @@ def invoke_KRR_from_mol3d_dQ(mol, charge): y_norm_train_csv = str(globs.custom_path).rstrip( '/') + "/python_krr/y_norm_train_TS.csv" else: - X_norm_train_csv = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/python_krr/X_norm_train_TS.csv") - y_norm_train_csv = resource_filename(Requirement.parse( - "molSimplify"), "molSimplify/python_krr/y_norm_train_TS.csv") + X_norm_train_csv = resource_files("molSimplify.python_krr").joinpath("X_norm_train_TS.csv") + y_norm_train_csv = resource_files("molSimplify.python_krr").joinpath("y_norm_train_TS.csv") with open(X_norm_train_csv, 'r') as f: for line in csv.reader(f): X_norm_train.append([float(i) for i in line]) diff --git a/molSimplify/Scripts/qcgen.py b/molSimplify/Scripts/qcgen.py index 482e0473..7826d6af 100644 --- a/molSimplify/Scripts/qcgen.py +++ b/molSimplify/Scripts/qcgen.py @@ -1291,7 +1291,7 @@ def molcbasis(strfiles, basistyp): # collect elements by rows in the periodic table for i in range(0, len(strfiles)): temp = mol3D() - temp.readfromxyz(strfiles[i]) + temp.readfromxyz(f"{strfiles[i]}.xyz") for atom in temp.getAtoms(): atno = atom.atno sym = atom.symbol() @@ -1365,7 +1365,7 @@ def molcras2s(strfiles): ras2s = [] for i in range(0, len(strfiles)): temp = mol3D() - temp.readfromxyz(strfiles[i]) + temp.readfromxyz(f"{strfiles[i]}.xyz") metal_ind = temp.findMetal() ras2 = 0 for ind in metal_ind: @@ -1399,7 +1399,7 @@ def molcnactels(strfiles, oxnum): nactels = [] for i in range(0, len(strfiles)): temp = mol3D() - temp.readfromxyz(strfiles[i]) + temp.readfromxyz(f"{strfiles[i]}.xyz") metal_ind = temp.findMetal() nactel = 0 for ind in metal_ind: @@ -1432,7 +1432,7 @@ def molcfrozens(strfiles): for i in range(0, len(strfiles)): frozen = 0 temp = mol3D() - temp.readfromxyz(strfiles[i]) + temp.readfromxyz(f"{strfiles[i]}.xyz") for atom in temp.getAtoms(): atno = atom.atno if atno > 2 and atno <= 10: diff --git a/molSimplify/molscontrol/dynamic_classifier.py b/molSimplify/molscontrol/dynamic_classifier.py index 66649cb5..5e3d8583 100644 --- a/molSimplify/molscontrol/dynamic_classifier.py +++ b/molSimplify/molscontrol/dynamic_classifier.py @@ -1,7 +1,7 @@ import os import time import logging -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from collections import OrderedDict import numpy as np import skimage.transform as skitransform @@ -228,8 +228,7 @@ def get_file_path(self, filein): def load_models(self): if not self.modelfile: - modelpath = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/molscontrol/models/" + self.mode + "/") + modelpath = str(resource_files("molSimplify.molscontrol").joinpath(f"models/{self.mode}")) else: modelpath = self.modelfile logging.warning("Using user-specified models from %s." % modelpath) @@ -245,8 +244,7 @@ def load_models(self): def load_training_data(self): if not self.traindatafile: - datapath = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/molscontrol/data/" + self.mode + "/train_data.pkl") + datapath = resource_files("molSimplify.molscontrol").joinpath(f"data/{self.mode}/train_data.pkl") else: datapath = self.traindatafile logging.warning("Using user-specified models from %s." % datapath) @@ -261,8 +259,7 @@ def load_training_data(self): def load_normalization_vec(self): if not self.normfile: - normvecpath = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/molscontrol/normalization_vec/" + self.mode + "/norm_dict.json") + normvecpath = resource_files("molSimplify.molscontrol").joinpath(f"normalization_vec/{self.mode}/norm_dict.json") else: normvecpath = self.normfile logging.warning( diff --git a/molSimplify/python_krr/sklearn_models.py b/molSimplify/python_krr/sklearn_models.py index 081e1cbe..8bcecbf0 100644 --- a/molSimplify/python_krr/sklearn_models.py +++ b/molSimplify/python_krr/sklearn_models.py @@ -1,6 +1,6 @@ import numpy as np import joblib -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from molSimplify.python_nn.tf_ANN import (tf_ANN_excitation_prepare, load_normalization_data, data_normalize, @@ -9,7 +9,7 @@ def load_sklearn_model(predictor): key = get_key(predictor, suffix="model") - modelfile = resource_filename(Requirement.parse("molSimplify"), "molSimplify/sklearn_models/" + key + '.h5') + modelfile = resource_files("molSimplify").joinpath(f"sklearn_models/{key}.h5") loaded_model = joblib.load(modelfile) return loaded_model diff --git a/molSimplify/python_nn/ANN.py b/molSimplify/python_nn/ANN.py index a0439b24..fb81a72b 100644 --- a/molSimplify/python_nn/ANN.py +++ b/molSimplify/python_nn/ANN.py @@ -11,7 +11,7 @@ import csv import numpy as np -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from molSimplify.utils.decorators import deprecated from typing import List @@ -91,8 +91,7 @@ def simple_network_builder_pybrain(layers: List[int], partial_path: str): def csv_loader(path: str) -> List[float]: # print('in csv loader') - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/python_nn/" + path) + path_to_file = resource_files("molSimplify.python_nn").joinpath(path.strip("/")) with open(path_to_file, 'r') as csvfile: csv_lines = csv.reader(csvfile, delimiter=',') ret_list = list() @@ -104,17 +103,14 @@ def csv_loader(path: str) -> List[float]: def matrix_loader(path, rownames=False): # loads matrix with rowname option + path_to_file = resource_files("molSimplify.python_nn").joinpath(path.strip("/")) if rownames: - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/python_nn/" + path) with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) row_names = [row[0] for row in csv_lines] mat = [row[1:] for row in csv_lines] return mat, row_names else: - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/python_nn/" + path) with open(path_to_file, 'r') as csvfile: csv_lines = csv.reader(csvfile, delimiter=',') mat = [a for a in csv_lines] @@ -123,7 +119,6 @@ def matrix_loader(path, rownames=False): # n = network_builder([25,50,51],"nn_split") def simple_splitting_ann(excitation): - # path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/python_nn/" + "ms_split") # print('path to ANN data: ',path_to_file) n = simple_network_builder([25, 50, 50], "ms_split") excitation, sp_center, sp_shift = excitation_standardizer(excitation, 'split') @@ -140,7 +135,6 @@ def simple_splitting_ann(excitation): def simple_slope_ann(slope_excitation): - # path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/python_nn/" + "ms_slope") # print('path to ANN data: ',path_to_file) n = simple_network_builder([24, 50, 50], "ms_slope") # no alpha value # print(slope_excitation) diff --git a/molSimplify/python_nn/ensemble_test.py b/molSimplify/python_nn/ensemble_test.py index f244f2ce..295b38e7 100644 --- a/molSimplify/python_nn/ensemble_test.py +++ b/molSimplify/python_nn/ensemble_test.py @@ -8,7 +8,7 @@ from tensorflow.keras.models import model_from_json from tensorflow.keras import backend as K -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from sklearn.utils import shuffle from molSimplify.python_nn.clf_analysis_tool import (dist_neighbor, get_entropy) @@ -102,7 +102,7 @@ def ensemble_maker(predictor, num=10): def ensemble_uq(predictor, descriptors=False, descriptor_names=False, suffix=False): key = get_key(predictor, suffix) - base_path = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key) + base_path = str(resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv')) base_path = base_path + 'ensemble_models' if not os.path.exists(base_path): print('Ensemble models do not exist now, training...') @@ -204,7 +204,7 @@ def f(tau): def latent_space_uq(predictor, layer_index=-2, descriptors=False, descriptor_names=False, entropy=False): key = get_key(predictor, suffix=False) - base_path = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key) + base_path = str(resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv')) base_path = base_path + 'ensemble_models' if not os.path.exists(base_path): print('Ensemble models do not exist now, training...') diff --git a/molSimplify/python_nn/tf_ANN.py b/molSimplify/python_nn/tf_ANN.py index 8a2acbc1..6381a080 100644 --- a/molSimplify/python_nn/tf_ANN.py +++ b/molSimplify/python_nn/tf_ANN.py @@ -19,7 +19,7 @@ from typing import List, Tuple, Union, Optional from tensorflow.keras import backend as K from tensorflow.keras.models import model_from_json, load_model -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from packaging import version import tensorflow as tf @@ -40,7 +40,7 @@ def perform_ANN_prediction(RAC_dataframe: pd.DataFrame, predictor_name: str, # - predictor_name_min_latent_distance, # - predictor_name_prediction - assert type(RAC_dataframe) == pd.DataFrame + assert type(RAC_dataframe) is pd.DataFrame train_vars = load_ANN_variables(predictor_name) train_mean_x, train_mean_y, train_var_x, train_var_y = load_normalization_data(predictor_name) my_ANN = load_keras_ann(predictor_name) @@ -67,8 +67,7 @@ def perform_ANN_prediction(RAC_dataframe: pd.DataFrame, predictor_name: str, rescaled_output = data_rescale(ANN_prediction, train_mean_y, train_var_y) # Get latent vectors for training data and queried data - train_x = load_training_data(predictor_name) - train_x = pd.DataFrame(train_x, columns=train_vars).astype(float) + train_x = pd.DataFrame(load_training_data(predictor_name), columns=train_vars).astype(float) get_outputs = K.function([my_ANN.layers[0].input, K.learning_phase()], [my_ANN.layers[len(my_ANN.layers) - 2].output]) normalized_train = data_normalize(train_x, train_mean_x, train_var_x) @@ -108,15 +107,14 @@ def log_likelihood(params): def matrix_loader(path: str, rownames: bool = False) -> Union[Tuple[List[List[str]], List[str]], List[List[str]]]: # loads matrix with rowname option + path_to_file = resource_files("molSimplify.python_nn").joinpath(path.strip("/")) if rownames: - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/python_nn/" + path) with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) row_names = [row[0] for row in csv_lines] mat = [row[1:] for row in csv_lines] return mat, row_names else: - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/python_nn/" + path) with open(path_to_file, 'r') as csvfile: lines = csv.reader(csvfile, delimiter=',') mat = [a for a in lines] @@ -189,29 +187,25 @@ def data_normalize(data, train_mean, train_var, debug=False) -> np.ndarray: def load_normalization_data(name: str): train_mean_x = list() - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/tf_nn/" + '/rescaling_data/' + name + '_mean_x.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'rescaling_data/{name}_mean_x.csv') if os.path.isfile(path_to_file): with open(path_to_file, 'r') as f: for lines in f.readlines(): train_mean_x.append([float(lines.strip().strip('[]'))]) train_var_x = list() - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/tf_nn/" + '/rescaling_data/' + name + '_var_x.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'rescaling_data/{name}_var_x.csv') with open(path_to_file, 'r') as f: for lines in f.readlines(): train_var_x.append([float(lines.strip().strip('[]'))]) train_mean_y = list() - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/tf_nn/" + '/rescaling_data/' + name + '_mean_y.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'rescaling_data/{name}_mean_y.csv') with open(path_to_file, 'r') as f: for lines in f.readlines(): train_mean_y.append([float(lines.strip().strip('[]'))]) train_var_y = list() - path_to_file = resource_filename(Requirement.parse("molSimplify"), - "molSimplify/tf_nn/" + '/rescaling_data/' + name + '_var_y.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'rescaling_data/{name}_var_y.csv') with open(path_to_file, 'r') as f: for lines in f.readlines(): train_var_y.append([float(lines.strip().strip('[]'))]) @@ -234,10 +228,10 @@ def get_data_mean_std(predictor: str): elif predictor == "split": key = predictor + '/' + predictor + '_x' elif predictor in ['geo_static_clf', 'sc_static_clf']: - key = 'static_clf/' + predictor + '_train_x' + key = f'{predictor}/{predictor}_train_x' else: key = predictor + '/' + predictor + '_x' - path_to_feature_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_feature_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') df_feature = pd.read_csv(path_to_feature_file) train_mean_x, train_var_x = list(), list() for col in df_feature: @@ -255,10 +249,10 @@ def get_data_mean_std(predictor: str): elif predictor == "split": key = predictor + '/' + predictor + '_y' elif predictor in ['geo_static_clf', 'sc_static_clf']: - key = 'static_clf/' + predictor + '_train_y' + key = f'{predictor}/{predictor}_train_y' else: key = predictor + '/' + predictor + '_y' - path_to_label_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_label_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') df_label = pd.read_csv(path_to_label_file) train_mean_y, train_var_y = list(), list() for col in df_label: @@ -269,7 +263,7 @@ def get_data_mean_std(predictor: str): def load_ANN_variables(predictor: str, suffix: str = 'vars') -> List[str]: key = get_key(predictor, suffix) - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') names = [] with open(path_to_file, 'r') as f: for lines in f.readlines(): @@ -292,7 +286,7 @@ def load_training_data(predictor: str) -> List[List[str]]: key = predictor + '/' + predictor + '_train_x' else: key = predictor + '/' + predictor + '_x' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) # row_names = [row[0] for row in csv_lines] @@ -313,10 +307,10 @@ def load_latent_training_data(predictor): elif predictor == "split": key = predictor + '/' + predictor + '_latent_x_41_OHE' elif predictor in ['geo_static_clf', 'sc_static_clf']: - key = 'static_clf/' + predictor + '_latent_train_x' + key = predictor + '/' + predictor + '_latent_train_x' else: key = predictor + '/' + predictor + '_latent_x_OHE' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) # row_names = [row[0] for row in csv_lines] @@ -337,7 +331,7 @@ def load_test_data(predictor): key = predictor + '/' + predictor + '_test_x' else: key = predictor + '/' + predictor + '_x' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) # row_names = [row[0] for row in csv_lines] @@ -360,7 +354,7 @@ def load_training_labels(predictor: str) -> List[List[str]]: key = predictor + '/' + predictor + '_train_y' else: key = predictor + '/' + predictor + '_y' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) # row_names = [row[0] for row in csv_lines] @@ -383,7 +377,7 @@ def load_test_labels(predictor: str) -> List[List[str]]: key = predictor + '/' + predictor + '_test_y' else: key = predictor + '/' + predictor + '_y' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "rU") as f: csv_lines = list(csv.reader(f)) # row_names = [row[0] for row in csv_lines] @@ -393,7 +387,7 @@ def load_test_labels(predictor: str) -> List[List[str]]: def load_train_info(predictor: str, suffix: str = 'info') -> dict: key = get_key(predictor, suffix) - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.json') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.json') with open(path_to_file, 'r') as json_file: loaded_info_dict = json.loads(json_file.read()) return loaded_info_dict @@ -406,15 +400,15 @@ def load_keras_ann(predictor: str, suffix: str = 'model', compile: bool = False) os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' key = get_key(predictor, suffix) if "clf" not in predictor: - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.json') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.json') with open(path_to_file, 'r') as json_file: loaded_model_json = json_file.read() loaded_model = model_from_json(loaded_model_json) # load weights into model - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.h5') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.h5') loaded_model.load_weights(path_to_file) else: - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.h5') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.h5') loaded_model = load_model(path_to_file) if compile: from tensorflow.keras.optimizers.legacy import Adam @@ -554,7 +548,7 @@ def find_true_min_eu_dist(predictor: str, 'oxo20': 'oxoandhomo', 'homo_empty': 'oxoandhomo'} if predictor in folder_dict: key = f'{folder_dict[predictor]}/{predictor}_train_names' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) print(('Closest Euc Dist Structure: ' + str(csv_lines[min_ind]).strip('[]') + ' for predictor ' + str( @@ -667,7 +661,7 @@ def find_ANN_latent_dist(predictor, latent_space_vector, debug=False): 'oxo20': 'oxoandhomo', 'homo_empty': 'oxoandhomo'} if predictor in folder_dict: key = f'{folder_dict[predictor]}/{predictor}_train_names' - path_to_file = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key + '.csv') + path_to_file = resource_files("molSimplify.tf_nn").joinpath(f'{key}.csv') with open(path_to_file, "r") as f: csv_lines = list(csv.reader(f)) print(('Closest Latent Dist Structure: ' + str(csv_lines[min_ind]) + ' for predictor ' + str(predictor))) @@ -690,7 +684,7 @@ def find_clf_lse(predictor: str, print("Unknown model type") return np.zeros_like(excitation) key = get_key(predictor, suffix='') - base_path = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key) + base_path = resource_files("molSimplify.tf_nn").joinpath(key) train_mean_x, train_mean_y, train_var_x, train_var_y = load_normalization_data(predictor) labels_train = np.array(load_training_labels(predictor), dtype='int') fmat_train = np.array(load_training_data(predictor), dtype='float64') @@ -739,7 +733,7 @@ def find_clf_lse(predictor: str, def save_model(model: tf.keras.Model, predictor: str, num: Optional[int] = None, suffix: Optional[str] = None): key = get_key(predictor, suffix) - base_path = resource_filename(Requirement.parse("molSimplify"), "molSimplify/tf_nn/" + key) + base_path = resource_files("molSimplify.tf_nn").joinpath(key) base_path = base_path + 'ensemble_models' if not os.path.exists(base_path): os.makedirs(base_path) diff --git a/pyproject.toml b/pyproject.toml index 4bfb5583..dff3b92f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,10 +12,11 @@ dependencies = [ "keras", "tensorflow", "pyyaml", + "importlib-resources", ] [project.optional-dependencies] -dev = ["pre-commit"] +dev = ["pytest", "pytest-resource-path", "pre-commit"] docs = [ "beautifulsoup4", "sphinx", diff --git a/tests/helperFuncs.py b/tests/helperFuncs.py index dc88afbc..767f7d0e 100644 --- a/tests/helperFuncs.py +++ b/tests/helperFuncs.py @@ -9,7 +9,6 @@ from molSimplify.Classes.globalvars import (dict_oneempty_check_st, oneempty_angle_ref) from molSimplify.Classes.mol3D import mol3D -from pkg_resources import resource_filename, Requirement from typing import Dict from contextlib import contextmanager from pathlib import Path @@ -163,12 +162,13 @@ def compareOG(xyz1, xyz2, thresh: float) -> bool: return passOG -def runtest_num_atoms_in_xyz(tmpdir, xyzfile): +def runtest_num_atoms_in_xyz(tmpdir, resource_path_root, xyzfile): + file_path = resource_path_root / "refs" / f"{xyzfile}.xyz" xyz_file1 = mol3D() - xyz_file1.readfromxyz('tests/refs/' + xyzfile + '.xyz') + xyz_file1.readfromxyz(file_path) xyz_file1.getNumAtoms() - with open('tests/refs/' + xyzfile + '.xyz', 'r') as f: + with open(file_path, 'r') as f: xyz_file2 = f.readlines() num_atoms = int(xyz_file2[0]) @@ -396,12 +396,11 @@ def compare_qc_input(inp, inp_ref): return passQcInputCheck -def runtest(tmpdir, name, threshMLBL, threshLG, threshOG, seed=31415): +def runtest(tmpdir, resource_path_root, name, threshMLBL, threshLG, threshOG, seed=31415): # Set seeds to eliminate randomness from test results random.seed(seed) np.random.seed(seed) - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") + infile = resource_path_root / "inputs" / f"{name}.in" newinfile, myjobdir = parse4test(infile, tmpdir) args = ['main.py', '-i', newinfile] with working_directory(tmpdir): @@ -418,12 +417,9 @@ def runtest(tmpdir, name, threshMLBL, threshLG, threshOG, seed=31415): if 'molcas' in molsim_data.lower(): output_qcin = myjobdir + '/molcas.input' - ref_xyz = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.xyz") - ref_report = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.report") - ref_qcin = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.qcin") + ref_xyz = resource_path_root / "refs" / f"{name}.xyz" + ref_report = resource_path_root / "refs" / f"{name}.report" + ref_qcin = resource_path_root / "refs" / f"{name}.qcin" print("Test input file: ", newinfile) print("Test output files are generated in ", myjobdir) @@ -443,7 +439,7 @@ def runtest(tmpdir, name, threshMLBL, threshLG, threshOG, seed=31415): return [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] -def runtest_slab(tmpdir, name, threshOG, extra_files=None): +def runtest_slab(tmpdir, resource_path_root, name, threshOG, extra_files=None): """ Performs test for slab builder. @@ -456,20 +452,17 @@ def runtest_slab(tmpdir, name, threshOG, extra_files=None): axis : threshOG tolerance for RMSD comparison of overall geometries. """ - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") + infile = resource_path_root / "inputs" / f"{name}.in" newinfile, _ = parse4test(infile, tmpdir) if extra_files is not None: for file_name in extra_files: - file_path = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{file_name}") + file_path = resource_path_root / "inputs" / f"{file_name}" shutil.copyfile(file_path, tmpdir / file_name) args = ['main.py', '-i', newinfile] with working_directory(tmpdir): startgen(args, False, False) - output_xyz = str(tmpdir / 'slab' / 'super332.xyz') - ref_xyz = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.xyz") + output_xyz = tmpdir / 'slab' / 'super332.xyz' + ref_xyz = resource_path_root / "refs" / f"{name}.xyz" print("Output xyz file: ", output_xyz) pass_xyz = compareGeo(output_xyz, ref_xyz, threshMLBL=0, threshLG=0, threshOG=threshOG, slab=True) @@ -477,7 +470,7 @@ def runtest_slab(tmpdir, name, threshOG, extra_files=None): return [passNumAtoms, passOG] -def runtest_molecule_on_slab(tmpdir, name, threshOG, extra_files=None): +def runtest_molecule_on_slab(tmpdir, resource_path_root, name, threshOG, extra_files=None): """ Performs test for slab builder with a CO molecule adsorbed. @@ -490,21 +483,18 @@ def runtest_molecule_on_slab(tmpdir, name, threshOG, extra_files=None): axis : threshOG tolerance for RMSD comparison of overall geometries. """ - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") + infile = resource_path_root / "inputs" / f"{name}.in" newinfile, _ = parse4test(infile, tmpdir, extra_args={ '-unit_cell': 'slab.xyz', '-target_molecule': 'co.xyz'}) if extra_files is not None: for file_name in extra_files: - file_path = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{file_name}") + file_path = resource_path_root / "inputs" / f"{file_name}" shutil.copyfile(file_path, tmpdir / file_name) args = ['main.py', '-i', newinfile] with working_directory(tmpdir): startgen(args, False, False) - output_xyz = str(tmpdir / 'loaded_slab' / 'loaded.xyz') - ref_xyz = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.xyz") + output_xyz = tmpdir / 'loaded_slab' / 'loaded.xyz' + ref_xyz = resource_path_root / "refs" / f"{name}.xyz" print("Output xyz file: ", output_xyz) pass_xyz = compareGeo(output_xyz, ref_xyz, threshMLBL=0, threshLG=0, threshOG=threshOG, slab=True) @@ -512,13 +502,10 @@ def runtest_molecule_on_slab(tmpdir, name, threshOG, extra_files=None): return [passNumAtoms, passOG] -def runtestgeo(tmpdir, name, thresh, deleteH=True, geo_type="oct"): - initgeo = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/geocheck/{name}/init.xyz") - optgeo = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/geocheck/{name}/opt.xyz") - refjson = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/geocheck/{name}/ref.json") +def runtestgeo(tmpdir, resource_path_root, name, thresh, deleteH=True, geo_type="oct"): + initgeo = resource_path_root / "inputs" / "geocheck" / name / "init.xyz" + optgeo = resource_path_root / "inputs" / "geocheck" / name / "opt.xyz" + refjson = resource_path_root / "refs" / "geocheck" / name / "ref.json" mymol = mol3D() mymol.readfromxyz(optgeo) init_mol = mol3D() @@ -543,11 +530,9 @@ def runtestgeo(tmpdir, name, thresh, deleteH=True, geo_type="oct"): return passGeo -def runtestgeo_optonly(tmpdir, name, thresh, deleteH=True, geo_type="oct"): - optgeo = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/geocheck/{name}/opt.xyz") - refjson = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/geocheck/{name}/ref.json") +def runtestgeo_optonly(tmpdir, resource_path_root, name, thresh, deleteH=True, geo_type="oct"): + optgeo = resource_path_root / "inputs" / "geocheck" / name / "opt.xyz" + refjson = resource_path_root / "refs" / "geocheck" / name / "ref.json" mymol = mol3D() mymol.readfromxyz(optgeo) if geo_type == "oct": @@ -561,9 +546,8 @@ def runtestgeo_optonly(tmpdir, name, thresh, deleteH=True, geo_type="oct"): raise NotImplementedError('Only octahedral geometries supported for now') -def runtestNoFF(tmpdir, name, threshMLBL, threshLG, threshOG): - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") +def runtestNoFF(tmpdir, resource_path_root, name, threshMLBL, threshLG, threshOG): + infile = resource_path_root / "inputs" / f"{name}.in" newinfile, myjobdir = parse4testNoFF(infile, tmpdir) [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = [True, True, True, True, True, True] @@ -581,12 +565,9 @@ def runtestNoFF(tmpdir, name, threshMLBL, threshLG, threshOG): output_qcin = myjobdir + '/orca.in' if 'molcas' in molsim_data.lower(): output_qcin = myjobdir + '/molcas.input' - ref_xyz = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{newname}.xyz") - ref_report = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{newname}.report") - ref_qcin = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.qcin") + ref_xyz = resource_path_root / "refs" / f"{newname}.xyz" + ref_report = resource_path_root / "refs" / f"{newname}.report" + ref_qcin = resource_path_root / "refs" / f"{name}.qcin" print("Test input file: ", newinfile) print("Test output files are generated in ", myjobdir) print("Output xyz file: ", output_xyz) @@ -606,12 +587,11 @@ def runtestNoFF(tmpdir, name, threshMLBL, threshLG, threshOG): return [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] -def runtest_reportonly(tmpdir, name, seed=31415): +def runtest_reportonly(tmpdir, resource_path_root, name, seed=31415): # Set seeds to eliminate randomness from test results random.seed(seed) np.random.seed(seed) - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") + infile = resource_path_root / "inputs" / f"{name}.in" # Copy the input file to the temporary folder shutil.copy(infile, tmpdir/f'{name}_reportonly.in') # Add the report only flag @@ -624,8 +604,7 @@ def runtest_reportonly(tmpdir, name, seed=31415): with working_directory(tmpdir): startgen(args, False, False) output_report = myjobdir + '/' + name + '_reportonly.report' - ref_report = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}.report") + ref_report = resource_path_root / "refs" / f"{name}.report" # Copy the reference report to the temporary folder shutil.copy(ref_report, tmpdir/f'{name}_ref.report') with open(tmpdir/f'{name}_ref.report', 'r') as f: @@ -643,17 +622,15 @@ def runtest_reportonly(tmpdir, name, seed=31415): return pass_report -def runtestMulti(tmpdir, name, threshMLBL, threshLG, threshOG): - infile = resource_filename(Requirement.parse( - "molSimplify"), f"tests/inputs/{name}.in") +def runtestMulti(tmpdir, resource_path_root, name, threshMLBL, threshLG, threshOG): + infile = resource_path_root / "inputs" / f"{name}.in" newinfile, myjobdir = parse4test(infile, tmpdir, True) args = ['main.py', '-i', newinfile] with working_directory(tmpdir): startgen(args, False, False) print("Test input file: ", newinfile) print("Test output files are generated in ", myjobdir) - refdir = resource_filename(Requirement.parse( - "molSimplify"), f"tests/refs/{name}") + refdir = resource_path_root / "refs" / name [passMultiFileCheck, myfiles] = checkMultiFileGen(myjobdir, refdir) pass_structures = [] if not passMultiFileCheck: diff --git a/tests/informatics/test_coulomb_analyze.py b/tests/informatics/test_coulomb_analyze.py index 95749f98..2a4f071d 100644 --- a/tests/informatics/test_coulomb_analyze.py +++ b/tests/informatics/test_coulomb_analyze.py @@ -1,14 +1,10 @@ import numpy as np from molSimplify.Classes.mol3D import mol3D -from pkg_resources import resource_filename, Requirement from molSimplify.Informatics.coulomb_analyze import create_coulomb_matrix -def test_create_coulomb_matrix(): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - "tests/inputs/cr3_f6_optimization.xyz" - ) +def test_create_coulomb_matrix(resource_path_root): + xyz_file = resource_path_root / "inputs" / "cr3_f6_optimization.xyz" mol = mol3D() mol.readfromxyz(xyz_file) cm = create_coulomb_matrix(mol) diff --git a/tests/inputs/geocheck/triplebond_linear_broken/opt.xyz b/tests/inputs/geocheck/triplebond_linear_broken/opt.xyz deleted file mode 100644 index 094fe7da..00000000 --- a/tests/inputs/geocheck/triplebond_linear_broken/opt.xyz +++ /dev/null @@ -1,48 +0,0 @@ -46 - -Cd 0.27940 6.13970 16.24340 -O 0.92180 7.25510 20.46480 -O -1.86240 6.98040 16.01340 -H -1.96780 7.62900 15.49890 -H -2.54610 6.51580 16.02940 -N 0.20910 5.36720 13.99150 -N -0.46460 3.95650 16.13730 -N -0.35170 5.51800 18.55470 -N 1.12060 8.19600 16.04450 -N 1.95300 8.55200 16.83540 -N 2.74700 8.92260 17.59560 -N 2.49990 5.29730 16.44810 -N 2.62139 4.32548 16.36395 -N 2.70900 2.94360 16.36490 -C 0.44580 6.12560 12.91640 -H 0.59490 7.05690 13.03630 -C 0.48130 5.60070 11.62540 -H 0.64320 6.16420 10.87820 -C 0.27770 4.25360 11.45720 -H 0.30400 3.87050 10.58880 -C 0.03180 3.45690 12.56820 -H -0.10330 2.52120 12.46970 -C -0.01260 4.04870 13.82660 -C -0.33230 3.26960 15.07090 -C -0.49440 1.78480 15.02270 -H -1.41930 1.54920 15.24570 -H 0.11440 1.36830 15.66770 -H -0.28400 1.46310 14.12140 -C -0.76340 3.32600 17.41560 -H 0.05530 2.91240 17.78670 -H -1.44320 2.61600 17.29230 -C -1.28880 4.38860 18.37170 -H -2.14830 4.73740 18.02480 -H -1.46500 3.97050 19.25160 -C 0.78520 5.08480 19.40860 -H 1.31990 4.40480 18.92600 -H 0.43700 4.67010 20.23720 -C 1.66450 6.25590 19.76490 -H 2.41480 5.94540 20.33060 -H 2.04540 6.64680 18.93810 -C -0.14350 7.73310 19.62620 -H 0.23790 8.13230 18.80550 -H -0.64800 8.43900 20.10460 -C -1.07970 6.60940 19.25250 -H -1.50650 6.25040 20.07140 -H -1.79450 6.95870 18.66380 diff --git a/tests/refs/geocheck/compact_bonding/ref.json b/tests/refs/geocheck/compact_bonding/ref.json deleted file mode 100644 index b1dfa32b..00000000 --- a/tests/refs/geocheck/compact_bonding/ref.json +++ /dev/null @@ -1 +0,0 @@ -{"oct_angle_devi_max": 12.509040337158584, "num_coord_metal": 6, "rmsd_max": -1, "max_del_sig_angle": 24.5649893674979, "dist_del_eq": 0, "devi_linear_max": 0.0, "atom_dist_max": "banned_by_user", "devi_linear_avrg": 0.0, "dist_del_all": 0.8729087434449587} diff --git a/tests/refs/geocheck/triplebond_linear_broken/ref.json b/tests/refs/geocheck/triplebond_linear_broken/ref.json deleted file mode 100644 index dacb6da5..00000000 --- a/tests/refs/geocheck/triplebond_linear_broken/ref.json +++ /dev/null @@ -1 +0,0 @@ -{"oct_angle_devi_max": 16.938430968598304, "num_coord_metal": 6, "rmsd_max": -1, "max_del_sig_angle": 37.4519818068396, "dist_del_eq": 0, "devi_linear_max": 62.79621100845071, "atom_dist_max": "banned_by_user", "devi_linear_avrg": 62.79621100845071, "dist_del_all": 0.24466501276101216} diff --git a/tests/runtest.py b/tests/runtest.py index 5032cc0c..982533d0 100644 --- a/tests/runtest.py +++ b/tests/runtest.py @@ -1,11 +1,10 @@ from molSimplify.Scripts.generator import startgen -from pkg_resources import resource_filename, Requirement -infile = resource_filename(Requirement.parse( - "molSimplify"), "tests/inputs/example_1_noff.in") -args = ['main.py', '-i', infile] -startgen(args, False, False) -infile = resource_filename(Requirement.parse( - "molSimplify"), "tests/inputs/example_1.in") -args = ['main.py', '-i', infile] -startgen(args, False, False) + +def runtest(resource_path_root): + infile = resource_path_root / "inputs" / "example_1_noff.in" + args = ['main.py', '-i', infile] + startgen(args, False, False) + infile = resource_path_root / "inputs" / "example_1.in" + args = ['main.py', '-i', infile] + startgen(args, False, False) diff --git a/tests/test_bidentate.py b/tests/test_bidentate.py index 2da281d8..42dc4359 100644 --- a/tests/test_bidentate.py +++ b/tests/test_bidentate.py @@ -1,7 +1,7 @@ import helperFuncs as hp -def test_bidentate(tmpdir): +def test_bidentate(tmpdir, resource_path_root): # There are two versions of this test depending on the openbabel version. # This is necessary because openbabel changed the numbering of atoms for v3. try: @@ -14,7 +14,7 @@ def test_bidentate(tmpdir): threshLG = 1.0 threshOG = 1.5 [passMultiFileCheck, pass_structures] = hp.runtestMulti( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passMultiFileCheck for f, passNumAtoms, passMLBL, passLG, passOG, pass_report in pass_structures: print(f) diff --git a/tests/test_example_1.py b/tests/test_example_1.py index ec7629e5..cd5023ec 100644 --- a/tests/test_example_1.py +++ b/tests/test_example_1.py @@ -1,28 +1,28 @@ import helperFuncs as hp -def test_example_1(tmpdir): +def test_example_1(tmpdir, resource_path_root): testName = "example_1" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG assert passOG assert pass_report - assert hp.runtest_reportonly(tmpdir, testName) + assert hp.runtest_reportonly(tmpdir, resource_path_root, testName) -def test_example_1_No_FF(tmpdir): +def test_example_1_No_FF(tmpdir, resource_path_root): testName = "example_1" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passMLBL assert passLG assert passOG diff --git a/tests/test_example_3.py b/tests/test_example_3.py index 03ce94cf..86c67d1f 100644 --- a/tests/test_example_3.py +++ b/tests/test_example_3.py @@ -4,13 +4,13 @@ @pytest.mark.skip("Skipping example 3 + FF as it is unclear to me if the core " "should be frozen during the final optimization. RM") -def test_example_3(tmpdir): +def test_example_3(tmpdir, resource_path_root): testName = "example_3" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG @@ -18,13 +18,13 @@ def test_example_3(tmpdir): assert pass_report, pass_qcin -def test_example_3_No_FF(tmpdir): +def test_example_3_No_FF(tmpdir, resource_path_root): testName = "example_3" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passMLBL assert passLG assert passOG diff --git a/tests/test_example_5.py b/tests/test_example_5.py index 57cc541e..9db5e10f 100644 --- a/tests/test_example_5.py +++ b/tests/test_example_5.py @@ -1,7 +1,7 @@ import helperFuncs as hp -def test_example_5(tmpdir): +def test_example_5(tmpdir, resource_path_root): # There are two versions of this test depending on the openbabel version. # This is necessary because openbabel changed the numbering of atoms for v3. try: @@ -14,7 +14,7 @@ def test_example_5(tmpdir): threshLG = 0.5 threshOG = 1.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG @@ -22,7 +22,7 @@ def test_example_5(tmpdir): assert pass_report, pass_qcin -def test_example_5_No_FF(tmpdir): +def test_example_5_No_FF(tmpdir, resource_path_root): # There are two versions of this test depending on the openbabel version. # This is necessary because openbabel changed the numbering of atoms for v3. try: @@ -35,7 +35,7 @@ def test_example_5_No_FF(tmpdir): threshLG = 0.5 threshOG = 1.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_example_7.py b/tests/test_example_7.py index cf3092bf..24cc6c66 100644 --- a/tests/test_example_7.py +++ b/tests/test_example_7.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_example_7(tmpdir): +def test_example_7(tmpdir, resource_path_root): testName = "example_7" threshMLBL = 0.1 threshLG = 1.0 threshOG = 3.0 # Increased threshold from 2.0 to 3.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG @@ -15,13 +15,13 @@ def test_example_7(tmpdir): assert pass_report, pass_qcin -def test_example_7_No_FF(tmpdir): +def test_example_7_No_FF(tmpdir, resource_path_root): testName = "example_7" threshMLBL = 0.1 threshLG = 1.1 threshOG = 3.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passMLBL assert passLG assert passOG diff --git a/tests/test_example_8.py b/tests/test_example_8.py index 342995d6..7a3f22e2 100644 --- a/tests/test_example_8.py +++ b/tests/test_example_8.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_example_8(tmpdir): +def test_example_8(tmpdir, resource_path_root): testName = "example_8" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_example_tbp.py b/tests/test_example_tbp.py index 7660277d..71ca729f 100644 --- a/tests/test_example_tbp.py +++ b/tests/test_example_tbp.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_example_tbp(tmpdir): +def test_example_tbp(tmpdir, resource_path_root): testName = "example_tbp" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_ff_xtb.py b/tests/test_ff_xtb.py index 8eb57fbd..daee3148 100644 --- a/tests/test_ff_xtb.py +++ b/tests/test_ff_xtb.py @@ -9,14 +9,14 @@ @xtb_installed -def test_xtb_before(tmpdir): +def test_xtb_before(tmpdir, resource_path_root): testName = "xtb_H2O_before" threshMLBL = 0.01 threshLG = 0.01 threshOG = 2.0 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG @@ -27,14 +27,14 @@ def test_xtb_before(tmpdir): @pytest.mark.skip(reason="TODO: figure out why this test started failing suddenly") @xtb_installed -def test_xtb_before_after(tmpdir): +def test_xtb_before_after(tmpdir, resource_path_root): testName = "xtb_imidazole_BA" threshMLBL = 0.01 threshLG = 0.01 threshOG = 0.05 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG @@ -44,14 +44,14 @@ def test_xtb_before_after(tmpdir): @xtb_installed -def test_xtb_ANC_fail(tmpdir): +def test_xtb_ANC_fail(tmpdir, resource_path_root): testName = "xtb_ANC_fail" threshMLBL = 0.01 threshLG = 0.01 threshOG = 0.01 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG @@ -61,14 +61,14 @@ def test_xtb_ANC_fail(tmpdir): @xtb_installed -def test_xtb_high_spin(tmpdir): +def test_xtb_high_spin(tmpdir, resource_path_root): testName = "xtb_bipy_spin5" threshMLBL = 0.01 threshLG = 0.05 threshOG = 0.5 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG @@ -78,14 +78,14 @@ def test_xtb_high_spin(tmpdir): @xtb_installed -def test_xtb_final_opt(tmpdir): +def test_xtb_final_opt(tmpdir, resource_path_root): testName = "xtb_final_opt" threshMLBL = 0.01 threshLG = 0.01 threshOG = 0.05 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG @@ -95,14 +95,14 @@ def test_xtb_final_opt(tmpdir): @xtb_installed -def test_gfnff(tmpdir): +def test_gfnff(tmpdir, resource_path_root): testName = "gfnff_NH3_BA" threshMLBL = 0.01 threshLG = 0.01 threshOG = 2.0 (passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin) = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG, seed=31415) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG, seed=31415) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_geocheck_oct.py b/tests/test_geocheck_oct.py index ce0abec2..0ad25e17 100644 --- a/tests/test_geocheck_oct.py +++ b/tests/test_geocheck_oct.py @@ -1,113 +1,26 @@ +import pytest import helperFuncs as hp -def test_example_1(tmpdir): - testName = "all_flying_away" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_2(tmpdir): - testName = "broken_ligands" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_3(tmpdir): - testName = "catom_change" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_4(tmpdir): - testName = "H_transfer" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_5(tmpdir): - testName = "ligand_assemble" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_6(tmpdir): - testName = "ligand_bent" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_7(tmpdir): - testName = "linear_broken" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_8(tmpdir): - testName = "methane_trans" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_9(tmpdir): - testName = "rotational_group" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_10(tmpdir): - testName = "switch_test" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh, deleteH=False) - assert passGeo - - -def test_example_11(tmpdir): - testName = "compact_bonding" - thresh = 0.01 - passGeo = hp.runtestgeo_optonly(tmpdir, testName, thresh) - assert passGeo - - -def test_example_12(tmpdir): - testName = "triplebond_linear_broken" - thresh = 0.01 - passGeo = hp.runtestgeo_optonly(tmpdir, testName, thresh) - assert passGeo - - -def test_example_13(tmpdir): - testName = "iodine_sulfur" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_14(tmpdir): - testName = "oct_comp_greedy" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_15(tmpdir): - testName = "atom_ordering_mismatch" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) - assert passGeo - - -def test_example_16(tmpdir): - testName = "iodide_radius" - thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh) +@pytest.mark.parametrize("testName", [ + "all_flying_away", + "broken_ligands", + "catom_change", + "H_transfer", + "ligand_assemble", + "ligand_bent", + "linear_broken", + "methane_trans", + "rotational_group", + "switch_test", + "compact_bonding", + "triplebond_linear_broken", + "iodine_sulfur", + "oct_comp_greedy", + "atom_ordering_mismatch", + "iodide_radius" +]) +def test_geocheck_oct(tmpdir, resource_path_root, testName): + thresh = 0.01 + passGeo = hp.runtestgeo(tmpdir, resource_path_root, testName, thresh) assert passGeo diff --git a/tests/test_geocheck_one_empty.py b/tests/test_geocheck_one_empty.py index 8ed604bf..81621cab 100644 --- a/tests/test_geocheck_one_empty.py +++ b/tests/test_geocheck_one_empty.py @@ -1,15 +1,15 @@ import helperFuncs as hp -def test_example_1(tmpdir): +def test_example_1(tmpdir, resource_path_root): testName = "one_empty_good" thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh, geo_type="one_empty") + passGeo = hp.runtestgeo(tmpdir, resource_path_root, testName, thresh, geo_type="one_empty") assert passGeo -def test_example_2(tmpdir): +def test_example_2(tmpdir, resource_path_root): testName = "one_empty_bad" thresh = 0.01 - passGeo = hp.runtestgeo(tmpdir, testName, thresh, geo_type="one_empty") + passGeo = hp.runtestgeo(tmpdir, resource_path_root, testName, thresh, geo_type="one_empty") assert passGeo diff --git a/tests/test_inparse.py b/tests/test_inparse.py index 7a4c9166..d3c29bb1 100644 --- a/tests/test_inparse.py +++ b/tests/test_inparse.py @@ -4,7 +4,6 @@ parseinputs_basic, parseinputs_advanced) from argparse import ArgumentParser, Namespace -from pkg_resources import resource_filename, Requirement def test_parseinputfile_empty(): @@ -59,11 +58,10 @@ def test_checkinput(monkeypatch): assert args.spin == '5' -def test_parseinputfile_inputfile_kwarg(): +def test_parseinputfile_inputfile_kwarg(resource_path_root): """Test that both methods of calling parseinputfile (with an args.i file or inputfile_str kwarg) yield the same result""" - infile = resource_filename(Requirement.parse( - "molSimplify"), "tests/inputs/example_1.in") + infile = resource_path_root / "inputs" / "example_1.in" args1 = Namespace(i=infile) parseinputfile(args1) diff --git a/tests/test_io.py b/tests/test_io.py index 1151f979..0ab41b46 100644 --- a/tests/test_io.py +++ b/tests/test_io.py @@ -1,12 +1,9 @@ import numpy as np from molSimplify.Scripts.io import lig_load -from pkg_resources import resource_filename, Requirement -def test_lig_load(): - lig_file = resource_filename( - Requirement.parse('molSimplify'), - 'tests/inputs/io/acac.mol2') +def test_lig_load(resource_path_root): + lig_file = str(resource_path_root / "inputs" / "io" / "acac.mol2") mol, emsg = lig_load(lig_file) # Assert that the error message is empty assert not emsg diff --git a/tests/test_joption_pythonic.py b/tests/test_joption_pythonic.py index 5b8b3b05..a9588284 100644 --- a/tests/test_joption_pythonic.py +++ b/tests/test_joption_pythonic.py @@ -1,9 +1,7 @@ - -from helperFuncs import jobname from molSimplify.Scripts.generator import startgen_pythonic -def test_joption_pythonic(tmpdir): +def test_joption_pythonic(tmpdir, resource_path_root): out_dir = "cr_thd_2_cl_4_s_1/cr_thd_2_cl_4_s_1_conf_1/jobscript" input_dict_homo = { '-core': "cr", @@ -23,9 +21,7 @@ def test_joption_pythonic(tmpdir): startgen_pythonic(input_dict_homo, write=1) with open(str(tmpdir) + "/" + out_dir, 'r') as f_in: data1 = f_in.readlines() - with open("tests/refs/joption_pythonic_jobscript", 'r') as f_in: + with open(resource_path_root / "refs" / "joption_pythonic_jobscript", 'r') as f_in: data2 = f_in.readlines() for i, j in zip(data1, data2): assert i == j - -#test_joption_pythonic("../Runs") diff --git a/tests/test_ligand_assign_consistent.py b/tests/test_ligand_assign_consistent.py index 8e3713e7..413e595f 100644 --- a/tests/test_ligand_assign_consistent.py +++ b/tests/test_ligand_assign_consistent.py @@ -1,14 +1,10 @@ from molSimplify.Classes.ligand import ligand_assign_consistent, ligand_breakdown from molSimplify.Classes.mol3D import mol3D -from pkg_resources import resource_filename, Requirement -def test_six_monodentate(): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - "tests/inputs/ligand_assign_consistent/" - "fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz" - ) +def test_six_monodentate(resource_path_root): + xyz_file = (resource_path_root / "inputs" / "ligand_assign_consistent" + / "fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz") mol = mol3D() mol.readfromxyz(xyz_file) @@ -36,11 +32,9 @@ def test_six_monodentate(): assert eq_con_list == [[14], [4], [18], [11]] -def test_triple_bidentate(): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - "tests/inputs/ligand_assign_consistent/fe_acac_bipy_bipy.xyz" - ) +def test_triple_bidentate(resource_path_root): + xyz_file = (resource_path_root / "inputs" / "ligand_assign_consistent" + / "fe_acac_bipy_bipy.xyz") mol = mol3D() mol.readfromxyz(xyz_file) diff --git a/tests/test_ligand_from_mol_file.py b/tests/test_ligand_from_mol_file.py index ada65713..78879af0 100644 --- a/tests/test_ligand_from_mol_file.py +++ b/tests/test_ligand_from_mol_file.py @@ -1,23 +1,18 @@ import pytest from molSimplify.Scripts.generator import startgen from helperFuncs import working_directory, compareGeo, compare_report_new -from pkg_resources import resource_filename, Requirement import shutil @pytest.mark.skip("Loading multidentate ligands from files is currently not supported") -def test_ligand_from_mol_file(tmpdir): - input_file = resource_filename(Requirement.parse( - "molSimplify"), "tests/inputs/ligand_from_mol_file.in") +def test_ligand_from_mol_file(tmpdir, resource_path_root): + input_file = resource_path_root / "inputs" / "ligand_from_mol_file.in" shutil.copyfile(input_file, tmpdir / "ligand_from_mol_file.in") - mol_file = resource_filename(Requirement.parse( - "molSimplify"), "tests/inputs/pdp.mol") + mol_file = resource_path_root / "inputs" / "pdp.mol" shutil.copyfile(mol_file, tmpdir / "pdp.mol") - ref_xyz = resource_filename(Requirement.parse( - "molSimplify"), "tests/refs/ligand_from_mol_file.xyz") - ref_report = resource_filename(Requirement.parse( - "molSimplify"), "tests/refs/ligand_from_mol_file.report") + ref_xyz = resource_path_root / "refs" / "ligand_from_mol_file.xyz" + ref_report = resource_path_root / "refs" / "ligand_from_mol_file.report" threshMLBL = 0.1 threshLG = 0.1 diff --git a/tests/test_ligands.py b/tests/test_ligands.py index f261fcb5..5cdf8234 100644 --- a/tests/test_ligands.py +++ b/tests/test_ligands.py @@ -1,17 +1,13 @@ import pytest from molSimplify.Classes.mol3D import mol3D from molSimplify.Scripts.io import readdict, lig_load -from pkg_resources import resource_filename, Requirement +from importlib_resources import files as resource_files from os import listdir from os.path import isfile, join -path_folder = resource_filename( - Requirement.parse("molSimplify"), "molSimplify/Ligands/" -) -path_dict = resource_filename( - Requirement.parse("molSimplify"), "molSimplify/Ligands/ligands.dict" -) +path_folder = resource_files("molSimplify").joinpath("Ligands") +path_dict = resource_files("molSimplify").joinpath("Ligands/ligands.dict") lig_dict = readdict(path_dict) @@ -21,7 +17,7 @@ def test_ligands_dict(lig_name): assert len(lig_dict[lig_name]) == 6 lig, emsg = lig_load(lig_name) # Assert that the ligand could be loaded - assert type(lig) == mol3D + assert type(lig) is mol3D assert emsg == '' # Assert that the charge of the loaded ligand equals the # charge noted in ligands.dict @@ -55,6 +51,7 @@ def test_ligands_dict(lig_name): # charge listed in ligands.dict assert sum([int(s) for s in sp[4::2]]) == charge + def test_no_repeats(): # This test ensures no key is used more than once in ligands.dict. listed_keys = [] diff --git a/tests/test_mol3D.py b/tests/test_mol3D.py index e074567c..32d98de8 100644 --- a/tests/test_mol3D.py +++ b/tests/test_mol3D.py @@ -2,7 +2,6 @@ import numpy as np from molSimplify.Classes.mol3D import mol3D from molSimplify.Classes.atom3D import atom3D -from pkg_resources import resource_filename, Requirement def test_adding_and_deleting_atoms(): @@ -122,11 +121,8 @@ def test_mutating_atoms(): ('trigonal_prismatic', 6, 'trigonal prismatic'), # ('pentagonal_bipyramidal', 7, 'pentagonal bipyramidal') ]) -def test_get_geometry_type(name, coordination_number, geometry_str): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - f"tests/inputs/geometry_type/{name}.xyz" - ) +def test_get_geometry_type(resource_path_root, name, coordination_number, geometry_str): + xyz_file = resource_path_root / "inputs" / "geometry_type" / f"{name}.xyz" mol = mol3D() mol.readfromxyz(xyz_file) @@ -137,11 +133,8 @@ def test_get_geometry_type(name, coordination_number, geometry_str): assert geo_report['aromatic'] is False -def test_get_geometry_type_catoms_arr(): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - "tests/inputs/geometry_type/octahedral.xyz" - ) +def test_get_geometry_type_catoms_arr(resource_path_root): + xyz_file = resource_path_root / "inputs" / "geometry_type" / "octahedral.xyz" mol = mol3D() mol.readfromxyz(xyz_file) @@ -155,11 +148,8 @@ def test_get_geometry_type_catoms_arr(): assert geo_report['aromatic'] is False -def test_readfromxyzfile(): - xyz_file = resource_filename( - Requirement.parse("molSimplify"), - "tests/inputs/cr3_f6_optimization.xyz" - ) +def test_readfromxyzfile(resource_path_root): + xyz_file = resource_path_root / "inputs" / "cr3_f6_optimization.xyz" mol = mol3D() mol.readfromxyz(xyz_file) diff --git a/tests/test_molcas_caspt2.py b/tests/test_molcas_caspt2.py index 72b910d1..d63557e7 100644 --- a/tests/test_molcas_caspt2.py +++ b/tests/test_molcas_caspt2.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_molcas_caspt2(tmpdir): +def test_molcas_caspt2(tmpdir, resource_path_root): testName = "molcas_caspt2" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_molcas_casscf.py b/tests/test_molcas_casscf.py index e4401df9..ac43f26e 100644 --- a/tests/test_molcas_casscf.py +++ b/tests/test_molcas_casscf.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_molcas_casscf(tmpdir): +def test_molcas_casscf(tmpdir, resource_path_root): testName = "molcas_casscf" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_old_ANNs.py b/tests/test_old_ANNs.py index 724c15ff..93455b0a 100644 --- a/tests/test_old_ANNs.py +++ b/tests/test_old_ANNs.py @@ -3,13 +3,13 @@ from molSimplify.python_nn.ANN import simple_network_builder -def test_old_ANN(tmpdir): +def test_old_ANN(tmpdir, resource_path_root): testName = "old_ANN" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, _] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_orca_ccsdt.py b/tests/test_orca_ccsdt.py index afebba29..d3bd8500 100644 --- a/tests/test_orca_ccsdt.py +++ b/tests/test_orca_ccsdt.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_orca_ccsdt(tmpdir): +def test_orca_ccsdt(tmpdir, resource_path_root): testName = "orca_ccsdt" threshMLBL = 0.1 threshLG = 1.0 threshOG = 8.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_orca_dft.py b/tests/test_orca_dft.py index f3ef40ce..35ce4b4f 100644 --- a/tests/test_orca_dft.py +++ b/tests/test_orca_dft.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_orca_dft(tmpdir): +def test_orca_dft(tmpdir, resource_path_root): testName = "orca_dft" threshMLBL = 0.1 threshLG = 1.0 threshOG = 8.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_qcgen.py b/tests/test_qcgen.py index afe457ba..69da5eee 100644 --- a/tests/test_qcgen.py +++ b/tests/test_qcgen.py @@ -1,7 +1,6 @@ import pytest import shutil from argparse import Namespace -from pkg_resources import resource_filename, Requirement from molSimplify.Scripts.qcgen import (tcgen, gamgen, qgen, mlpgen, ogen, molcgen) @@ -10,7 +9,7 @@ [(tcgen, 'terachem_input'), (gamgen, 'gam.inp'), (qgen, 'qch.inp'), (mlpgen, 'FeH2O6.mop'), (ogen, 'orca.in'), (molcgen, 'molcas.input')]) -def test_qcgen_defaults(gen_function, default_name, tmpdir): +def test_qcgen_defaults(resource_path_root, gen_function, default_name, tmpdir): """Calls the gen_function with as little parameters as possible to test the default input file generated.""" args = Namespace(jobdir=str(tmpdir), reportonly=None, spin=None, @@ -20,23 +19,21 @@ def test_qcgen_defaults(gen_function, default_name, tmpdir): correlation=None, unrestricted=None, bsep=None, ngauss=None, ndfunc=None, npfunc=None, sysoption=None, ctrloption=None, scfoption=None, statoption=None) - xyzfile = resource_filename(Requirement.parse( - 'molSimplify'), 'tests/inputs/qcgen/FeH2O6.xyz') + xyzfile = resource_path_root / "inputs" / "qcgen" / "FeH2O6.xyz" # Copy xyz file to tmpdir shutil.copy(xyzfile, tmpdir / 'FeH2O6.xyz') jobdirs = gen_function(args, [str(tmpdir / 'FeH2O6')], 'B3LYP') sub_dir = tmpdir - ref_dir = f'tests/refs/qcgen/{gen_function.__name__}' + ref_dir = resource_path_root / "refs" / "qcgen" / f"{gen_function.__name__}" # These two generate a different subfolder structure... if gen_function is gamgen or gen_function is qgen: sub_dir = tmpdir / 'FeH2O6/B3LYP' ref_dir = f'{ref_dir}/FeH2O6/B3LYP' assert jobdirs[0] == sub_dir - ref_file = resource_filename(Requirement.parse( - 'molSimplify'), f'{ref_dir}/{default_name}') + ref_file = resource_path_root / ref_dir / default_name with open(ref_file, 'r') as f: ref_lines = f.readlines() diff --git a/tests/test_racs.py b/tests/test_racs.py index 29232c07..531c3c3c 100644 --- a/tests/test_racs.py +++ b/tests/test_racs.py @@ -5,7 +5,6 @@ from molSimplify.Informatics.RACassemble import create_OHE from molSimplify.Informatics.lacRACAssemble import get_descriptor_vector from molSimplify.Scripts.io import lig_load -from pkg_resources import resource_filename, Requirement @pytest.mark.parametrize('xyz_path, ref_path', [ @@ -16,17 +15,13 @@ 'racs_Cr_acac_acac_bipy.pickle'), ('co_acac_en_water_hydrogensulfide.xyz', 'racs_Co_acac_en_water_hydrogensulfide.pickle')]) -def test_Mn_water2_ammonia_furan2_ammonia(xyz_path, ref_path): - xyz_path = resource_filename( - Requirement.parse('molSimplify'), - f'tests/refs/racs/{xyz_path}') +def test_Mn_water2_ammonia_furan2_ammonia(resource_path_root, xyz_path, ref_path): + xyz_path = resource_path_root / "refs" / "racs" / xyz_path mol = mol3D() mol.readfromxyz(xyz_path) features = mol.get_features() - ref_path = resource_filename( - Requirement.parse('molSimplify'), - f'tests/refs/racs/{ref_path}') + ref_path = resource_path_root / "refs" / "racs" / ref_path with open(ref_path, 'rb') as fin: ref_features = pickle.load(fin) @@ -35,15 +30,11 @@ def test_Mn_water2_ammonia_furan2_ammonia(xyz_path, ref_path): assert abs(val - ref_features[key]) < 1e-4 -def test_six_pyridine_vs_three_bipy(): +def test_six_pyridine_vs_three_bipy(resource_path_root): """Up to depth 2 the atom centered racs features for pyr_6 and bipy_3 should be the same""" - fe_pyr_6_path = resource_filename( - Requirement.parse('molSimplify'), - 'tests/refs/racs/fe_pyr_6.xyz') - fe_bipy_3_path = resource_filename( - Requirement.parse('molSimplify'), - 'tests/refs/racs/fe_bipy_3.xyz') + fe_pyr_6_path = resource_path_root / "refs" / "racs" / "fe_pyr_6.xyz" + fe_bipy_3_path = resource_path_root / "refs" / "racs" / "fe_bipy_3.xyz" fe_pyr_6 = mol3D() fe_pyr_6.readfromxyz(fe_pyr_6_path) fe_bipy_3 = mol3D() @@ -65,13 +56,9 @@ def test_six_pyridine_vs_three_bipy(): @pytest.mark.skip('Test fails because molSimplify averages the equatorial ' 'plane differently for bidentates') -def test_pyr_4_furan_2_vs_bipy_2_bifuran(): - fe_pyr_4_furan_2_path = resource_filename( - Requirement.parse('molSimplify'), - 'tests/refs/racs/fe_pyr_4_furan_2.xyz') - fe_bipy_2_bifuran_path = resource_filename( - Requirement.parse('molSimplify'), - 'tests/refs/racs/fe_bipy_2_bifuran.xyz') +def test_pyr_4_furan_2_vs_bipy_2_bifuran(resource_path_root): + fe_pyr_4_furan_2_path = resource_path_root / "refs" / "racs" / "fe_pyr_4_furan_2.xyz" + fe_bipy_2_bifuran_path = resource_path_root / "refs" / "racs" / "fe_bipy_2_bifuran.xyz" fe_pyr_4_furan_2 = mol3D() fe_pyr_4_furan_2.readfromxyz(fe_pyr_4_furan_2_path) fe_bipy_2_bifuran = mol3D() diff --git a/tests/test_rmsd.py b/tests/test_rmsd.py index c0f67958..bba5bd5e 100644 --- a/tests/test_rmsd.py +++ b/tests/test_rmsd.py @@ -1,31 +1,24 @@ import pytest from molSimplify.Classes.mol3D import mol3D from molSimplify.Scripts.rmsd import rigorous_rmsd -from pkg_resources import resource_filename, Requirement @pytest.mark.parametrize( 'path1,path2,ref_hungarian,ref_none', - [['example_1_noff.xyz', 'example_1.xyz', 0.3991, 0.7749], + [['example_1_noff', 'example_1', 0.3991, 0.7749], ['BUWGOQ', 'BUWGOQ_final', 2.43958, 0.49113], ['BUWGOQ_noH', 'BUWGOQ_noH_final', 1.74814, 0.11826], ['BUWGOQ', 'BUWGOQ_final_reordered', 2.43958, 3.02598]] ) -def test_rigorous_rmsd(path1, path2, ref_hungarian, ref_none, atol=1e-3): +def test_rigorous_rmsd(resource_path_root, path1, path2, ref_hungarian, ref_none, atol=1e-3): # Reference values calculated using https://pypi.org/project/rmsd/ # >>> calculate_rmsd --reorder path1.xyz path2.xyz # >>> calculate_rmsd path1.xyz path2.xyz - xyz_1 = resource_filename( - Requirement.parse("molSimplify"), - f"tests/inputs/rmsd/{path1}.xyz" - ) + xyz_1 = resource_path_root / "inputs" / "rmsd" / f"{path1}.xyz" mol1 = mol3D() mol1.readfromxyz(xyz_1) - xyz_2 = resource_filename( - Requirement.parse("molSimplify"), - f"tests/inputs/rmsd/{path2}.xyz" - ) + xyz_2 = resource_path_root / "inputs" / "rmsd" / f"{path2}.xyz" mol2 = mol3D() mol2.readfromxyz(xyz_2) diff --git a/tests/test_tetrahedral.py b/tests/test_tetrahedral.py index 8cb2b4c8..f81dca30 100644 --- a/tests/test_tetrahedral.py +++ b/tests/test_tetrahedral.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_example_1(tmpdir): +def test_example_1(tmpdir, resource_path_root): testName = "tetrahedral_1" threshMLBL = 0.1 # Change this value for your need threshLG = 0.1 # Change this value for your need threshOG = 2.0 # Change this value for you need [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG @@ -15,13 +15,13 @@ def test_example_1(tmpdir): assert pass_report -def test_example_2(tmpdir): +def test_example_2(tmpdir, resource_path_root): testName = "tetrahedral_2" threshMLBL = 0.1 # Change this value for your need threshLG = 0.1 # Change this value for your need threshOG = 2.0 # Change this value for you need [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtestNoFF( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_09_part_one.py b/tests/test_tutorial_09_part_one.py index ef8b4f2f..e2ea3be8 100644 --- a/tests/test_tutorial_09_part_one.py +++ b/tests/test_tutorial_09_part_one.py @@ -1,11 +1,13 @@ import helperFuncs as hp -def test_tutorial_09_part_one(tmpdir): + + +def test_tutorial_09_part_one(tmpdir, resource_path_root): testName = "tutorial_09_part_one" threshMLBL = 0.1 threshLG = 2.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_09_part_two.py b/tests/test_tutorial_09_part_two.py index 0104f5f8..f97fddff 100644 --- a/tests/test_tutorial_09_part_two.py +++ b/tests/test_tutorial_09_part_two.py @@ -1,11 +1,13 @@ import helperFuncs as hp -def test_tutorial_09_part_two(tmpdir): + + +def test_tutorial_09_part_two(tmpdir, resource_path_root): testName = "tutorial_09_part_two" threshMLBL = 0.1 threshLG = 2.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_10_part_one.py b/tests/test_tutorial_10_part_one.py index 40b0af2d..d483c54d 100644 --- a/tests/test_tutorial_10_part_one.py +++ b/tests/test_tutorial_10_part_one.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_tutorial_10_part_one(tmpdir): +def test_tutorial_10_part_one(tmpdir, resource_path_root): testName = "tutorial_10_part_one" threshMLBL = 0.1 threshLG = 2.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms # Not checking for passMLBL because there are atoms very close to the cutoff # assert passMLBL diff --git a/tests/test_tutorial_10_part_two.py b/tests/test_tutorial_10_part_two.py index 0567cd88..b0dcd95c 100644 --- a/tests/test_tutorial_10_part_two.py +++ b/tests/test_tutorial_10_part_two.py @@ -1,11 +1,13 @@ import helperFuncs as hp -def test_tutorial_10_part_two(tmpdir): + + +def test_tutorial_10_part_two(tmpdir, resource_path_root): testName = "tutorial_10_part_two" threshMLBL = 0.1 threshLG = 7.0 threshOG = 7.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_2.py b/tests/test_tutorial_2.py index 068a7c73..32afe709 100644 --- a/tests/test_tutorial_2.py +++ b/tests/test_tutorial_2.py @@ -1,10 +1,11 @@ import helperFuncs as hp -def test_tutorial_2(tmpdir): +def test_tutorial_2(tmpdir, resource_path_root): testName = "tutorial_2" threshOG = 2.0 [passNumAtoms, passOG] = hp.runtest_slab( - tmpdir, testName, threshOG, extra_files=['pd_test_tutorial_2.cif']) + tmpdir, resource_path_root, testName, threshOG, + extra_files=['pd_test_tutorial_2.cif']) assert passNumAtoms assert passOG diff --git a/tests/test_tutorial_3.py b/tests/test_tutorial_3.py index 8987e809..2911e524 100644 --- a/tests/test_tutorial_3.py +++ b/tests/test_tutorial_3.py @@ -1,13 +1,13 @@ import helperFuncs as hp -def test_tutorial_3(tmpdir): +def test_tutorial_3(tmpdir, resource_path_root): testName = "tutorial_3" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_6.py b/tests/test_tutorial_6.py index 7d67a573..70890d5e 100644 --- a/tests/test_tutorial_6.py +++ b/tests/test_tutorial_6.py @@ -1,9 +1,10 @@ import helperFuncs as hp -def test_tutorial_6(tmpdir): +def test_tutorial_6(tmpdir, resource_path_root): testName = "tutorial_6" threshOG = 2.0 - [passNumAtoms, passOG] = hp.runtest_molecule_on_slab(tmpdir, testName, threshOG) + [passNumAtoms, passOG] = hp.runtest_molecule_on_slab( + tmpdir, resource_path_root, testName, threshOG) assert passNumAtoms assert passOG diff --git a/tests/test_tutorial_8.py b/tests/test_tutorial_8.py index 60886c58..df6757b9 100644 --- a/tests/test_tutorial_8.py +++ b/tests/test_tutorial_8.py @@ -1,26 +1,27 @@ import helperFuncs as hp -def test_tutorial_8_part_one(tmpdir): +def test_tutorial_8_part_one(tmpdir, resource_path_root): testName = "tutorial_8_part_one" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG assert passOG assert pass_report -def test_tutorial_8_part_two(tmpdir): + +def test_tutorial_8_part_two(tmpdir, resource_path_root): testName = "tutorial_8_part_two" threshMLBL = 0.1 threshLG = 1.0 threshOG = 2.0 [passNumAtoms, passMLBL, passLG, passOG, pass_report, pass_qcin] = hp.runtest( - tmpdir, testName, threshMLBL, threshLG, threshOG) + tmpdir, resource_path_root, testName, threshMLBL, threshLG, threshOG) assert passNumAtoms assert passMLBL assert passLG diff --git a/tests/test_tutorial_qm9_part_one.py b/tests/test_tutorial_qm9_part_one.py index 4a63984d..2a1a5ca0 100644 --- a/tests/test_tutorial_qm9_part_one.py +++ b/tests/test_tutorial_qm9_part_one.py @@ -1,7 +1,6 @@ -import pytest import helperFuncs as hp -def test_tutorial_qm9_part_one(tmpdir): +def test_tutorial_qm9_part_one(tmpdir, resource_path_root): testName = "tutorial_qm9_part_one" - hp.runtest_num_atoms_in_xyz(tmpdir, testName) + hp.runtest_num_atoms_in_xyz(tmpdir, resource_path_root, testName) diff --git a/tests/inputs/bidentate.in b/tests/testresources/inputs/bidentate.in similarity index 100% rename from tests/inputs/bidentate.in rename to tests/testresources/inputs/bidentate.in diff --git a/tests/inputs/bidentate_lig.smi b/tests/testresources/inputs/bidentate_lig.smi similarity index 100% rename from tests/inputs/bidentate_lig.smi rename to tests/testresources/inputs/bidentate_lig.smi diff --git a/tests/inputs/bidentate_v3.in b/tests/testresources/inputs/bidentate_v3.in similarity index 100% rename from tests/inputs/bidentate_v3.in rename to tests/testresources/inputs/bidentate_v3.in diff --git a/tests/inputs/bidentate_v3_lig.smi b/tests/testresources/inputs/bidentate_v3_lig.smi similarity index 100% rename from tests/inputs/bidentate_v3_lig.smi rename to tests/testresources/inputs/bidentate_v3_lig.smi diff --git a/tests/inputs/co.xyz b/tests/testresources/inputs/co.xyz similarity index 100% rename from tests/inputs/co.xyz rename to tests/testresources/inputs/co.xyz diff --git a/tests/inputs/cr3_f6_optimization.xyz b/tests/testresources/inputs/cr3_f6_optimization.xyz similarity index 100% rename from tests/inputs/cr3_f6_optimization.xyz rename to tests/testresources/inputs/cr3_f6_optimization.xyz diff --git a/tests/inputs/example_1.in b/tests/testresources/inputs/example_1.in similarity index 100% rename from tests/inputs/example_1.in rename to tests/testresources/inputs/example_1.in diff --git a/tests/inputs/example_1_noff.in b/tests/testresources/inputs/example_1_noff.in similarity index 100% rename from tests/inputs/example_1_noff.in rename to tests/testresources/inputs/example_1_noff.in diff --git a/tests/inputs/example_3.in b/tests/testresources/inputs/example_3.in similarity index 100% rename from tests/inputs/example_3.in rename to tests/testresources/inputs/example_3.in diff --git a/tests/inputs/example_3_noff.in b/tests/testresources/inputs/example_3_noff.in similarity index 100% rename from tests/inputs/example_3_noff.in rename to tests/testresources/inputs/example_3_noff.in diff --git a/tests/inputs/example_5.in b/tests/testresources/inputs/example_5.in similarity index 100% rename from tests/inputs/example_5.in rename to tests/testresources/inputs/example_5.in diff --git a/tests/inputs/example_5_noff.in b/tests/testresources/inputs/example_5_noff.in similarity index 100% rename from tests/inputs/example_5_noff.in rename to tests/testresources/inputs/example_5_noff.in diff --git a/tests/inputs/example_5_v3.in b/tests/testresources/inputs/example_5_v3.in similarity index 100% rename from tests/inputs/example_5_v3.in rename to tests/testresources/inputs/example_5_v3.in diff --git a/tests/inputs/example_7.in b/tests/testresources/inputs/example_7.in similarity index 100% rename from tests/inputs/example_7.in rename to tests/testresources/inputs/example_7.in diff --git a/tests/inputs/example_8.in b/tests/testresources/inputs/example_8.in similarity index 100% rename from tests/inputs/example_8.in rename to tests/testresources/inputs/example_8.in diff --git a/tests/inputs/example_tbp.in b/tests/testresources/inputs/example_tbp.in similarity index 100% rename from tests/inputs/example_tbp.in rename to tests/testresources/inputs/example_tbp.in diff --git a/tests/inputs/geocheck/H_transfer/init.xyz b/tests/testresources/inputs/geocheck/H_transfer/init.xyz similarity index 100% rename from tests/inputs/geocheck/H_transfer/init.xyz rename to tests/testresources/inputs/geocheck/H_transfer/init.xyz diff --git a/tests/inputs/geocheck/H_transfer/opt.xyz b/tests/testresources/inputs/geocheck/H_transfer/opt.xyz similarity index 100% rename from tests/inputs/geocheck/H_transfer/opt.xyz rename to tests/testresources/inputs/geocheck/H_transfer/opt.xyz diff --git a/tests/inputs/geocheck/all_flying_away/init.xyz b/tests/testresources/inputs/geocheck/all_flying_away/init.xyz similarity index 100% rename from tests/inputs/geocheck/all_flying_away/init.xyz rename to tests/testresources/inputs/geocheck/all_flying_away/init.xyz diff --git a/tests/inputs/geocheck/all_flying_away/opt.xyz b/tests/testresources/inputs/geocheck/all_flying_away/opt.xyz similarity index 100% rename from tests/inputs/geocheck/all_flying_away/opt.xyz rename to tests/testresources/inputs/geocheck/all_flying_away/opt.xyz diff --git a/tests/inputs/geocheck/atom_ordering_mismatch/init.xyz b/tests/testresources/inputs/geocheck/atom_ordering_mismatch/init.xyz similarity index 100% rename from tests/inputs/geocheck/atom_ordering_mismatch/init.xyz rename to tests/testresources/inputs/geocheck/atom_ordering_mismatch/init.xyz diff --git a/tests/inputs/geocheck/atom_ordering_mismatch/opt.xyz b/tests/testresources/inputs/geocheck/atom_ordering_mismatch/opt.xyz similarity index 100% rename from tests/inputs/geocheck/atom_ordering_mismatch/opt.xyz rename to tests/testresources/inputs/geocheck/atom_ordering_mismatch/opt.xyz diff --git a/tests/inputs/geocheck/broken_ligands/init.xyz b/tests/testresources/inputs/geocheck/broken_ligands/init.xyz similarity index 100% rename from tests/inputs/geocheck/broken_ligands/init.xyz rename to tests/testresources/inputs/geocheck/broken_ligands/init.xyz diff --git a/tests/inputs/geocheck/broken_ligands/opt.xyz b/tests/testresources/inputs/geocheck/broken_ligands/opt.xyz similarity index 100% rename from tests/inputs/geocheck/broken_ligands/opt.xyz rename to tests/testresources/inputs/geocheck/broken_ligands/opt.xyz diff --git a/tests/inputs/geocheck/catom_change/init.xyz b/tests/testresources/inputs/geocheck/catom_change/init.xyz similarity index 100% rename from tests/inputs/geocheck/catom_change/init.xyz rename to tests/testresources/inputs/geocheck/catom_change/init.xyz diff --git a/tests/inputs/geocheck/catom_change/opt.xyz b/tests/testresources/inputs/geocheck/catom_change/opt.xyz similarity index 100% rename from tests/inputs/geocheck/catom_change/opt.xyz rename to tests/testresources/inputs/geocheck/catom_change/opt.xyz diff --git a/tests/testresources/inputs/geocheck/compact_bonding/init.xyz b/tests/testresources/inputs/geocheck/compact_bonding/init.xyz new file mode 100644 index 00000000..1acc7f01 --- /dev/null +++ b/tests/testresources/inputs/geocheck/compact_bonding/init.xyz @@ -0,0 +1,135 @@ +133 + Energy: 374.2608450 +Zr 13.09998 14.89645 19.56680 +S 15.15741 14.05263 19.96954 +S 14.58670 16.32380 18.44016 +C 16.64818 15.01504 19.70235 +H 16.63594 15.85044 20.40779 +C 16.29160 15.51773 18.32213 +H 16.22782 14.62069 17.66697 +C 17.37747 16.37650 17.65365 +H 18.27720 15.74762 17.49428 +H 17.03847 16.63061 16.63083 +C 17.81294 17.67845 18.32736 +H 16.96971 18.39706 18.41332 +H 18.54355 18.11866 17.61137 +C 18.55507 17.56918 19.67405 +H 17.88819 17.53135 20.55690 +H 19.07648 18.54734 19.77404 +C 19.60821 16.43991 19.74317 +H 20.11807 16.29457 18.76751 +H 20.39209 16.79846 20.44721 +C 19.12366 15.11645 20.39382 +H 18.80825 15.37678 21.42884 +H 20.01249 14.45583 20.49003 +C 17.98449 14.25645 19.78508 +H 17.86056 13.43407 20.52082 +H 18.25058 13.77275 18.82120 +C 15.25133 13.85050 21.77185 +H 14.31420 13.39349 22.11418 +H 16.04639 13.12259 22.03666 +C 15.43472 15.17352 22.40411 +C 16.50720 15.42812 23.26397 +H 17.19540 14.62075 23.46424 +C 16.69365 16.70734 23.82267 +C 15.74440 17.70177 23.51440 +H 15.88987 18.67155 23.95373 +C 14.65043 17.47112 22.64701 +C 14.53500 16.17382 22.06900 +C 17.89281 17.06264 24.72997 +C 18.84630 15.86823 24.96741 +H 19.27397 15.50433 24.00816 +H 18.31648 15.03241 25.47253 +H 19.69713 16.16838 25.61732 +C 18.71764 18.18749 24.06131 +H 19.09410 17.85448 23.06922 +H 19.59127 18.46514 24.68987 +H 18.11803 19.10872 23.90828 +C 17.38631 17.54198 26.10794 +H 18.23981 17.80762 26.76885 +H 16.79553 16.74165 26.60271 +H 16.74599 18.44421 26.02431 +C 13.63467 18.60893 22.31987 +C 13.64084 18.92965 20.80911 +H 14.65815 19.23245 20.47922 +H 12.93712 19.75901 20.57871 +H 13.31416 18.07539 20.19651 +C 12.21782 18.18084 22.75817 +H 11.47713 18.98132 22.54223 +H 12.19685 17.96997 23.84917 +H 11.87638 17.27520 22.22747 +C 13.94603 19.94070 23.05153 +H 13.19171 20.71785 22.79801 +H 14.93888 20.34008 22.75032 +H 13.91982 19.80728 24.15466 +O 13.55550 15.93400 21.16620 +C 14.34986 16.57390 16.68484 +H 13.30196 16.92116 16.59076 +H 14.96796 17.39127 16.25903 +C 14.45645 15.24235 16.00642 +C 15.17828 15.17309 14.80995 +H 15.62130 16.08471 14.43844 +C 15.32038 13.96591 14.10644 +C 14.70819 12.82033 14.64241 +H 14.82434 11.90676 14.09002 +C 13.98157 12.83086 15.85624 +C 13.86800 14.07110 16.55756 +C 16.11605 13.85268 12.78461 +C 16.73684 15.19614 12.33288 +H 15.94818 15.95786 12.15187 +H 17.30149 15.06899 11.38347 +H 17.44906 15.58011 13.09517 +C 17.27411 12.84454 12.96458 +H 17.86116 12.74647 12.02572 +H 16.90705 11.83094 13.22721 +H 17.95995 13.18283 13.77127 +C 15.17965 13.36770 11.65557 +H 14.74250 12.37228 11.87725 +H 15.73398 13.27656 10.69631 +H 14.34531 14.08728 11.50978 +C 13.35359 11.51092 16.41108 +C 13.97257 11.15862 17.78335 +H 13.77988 11.92601 18.55065 +H 15.07298 11.03348 17.69032 +H 13.54611 10.21027 18.17684 +C 13.59238 10.27970 15.49679 +H 14.67778 10.06646 15.38567 +H 13.13996 10.43260 14.49294 +H 13.12582 9.36743 15.92955 +C 11.82328 11.66250 16.54614 +H 11.36822 11.89883 15.56016 +H 11.54356 12.45788 17.25485 +H 11.36427 10.72418 16.92679 +O 13.19490 14.06000 17.74930 +C 11.24040 16.27090 18.99640 +H 10.70080 16.51857 19.92584 +H 11.64760 17.22101 18.59618 +Si 9.96688 15.65691 17.74037 +C 8.69269 17.01528 17.60496 +H 8.22668 17.18365 18.59765 +H 7.91090 16.71881 16.87590 +H 9.18251 17.94997 17.26313 +C 9.04885 14.11489 18.25588 +H 8.51863 14.29612 19.20748 +H 9.73784 13.26142 18.36571 +H 8.29717 13.86880 17.47832 +C 10.65515 15.40625 16.02321 +H 11.14774 16.33637 15.67614 +H 9.81993 15.16110 15.33579 +H 11.36846 14.56860 16.00661 +C 12.05580 13.16290 20.61930 +H 11.31200 12.76824 19.90444 +H 12.78712 12.34806 20.78774 +Si 11.13373 13.47729 22.25114 +C 12.19958 13.96193 23.70864 +H 11.55434 14.05121 24.60634 +H 12.67934 14.93981 23.52712 +H 12.96210 13.18214 23.90494 +C 9.77062 14.74301 22.13617 +H 9.05062 14.45244 21.35246 +H 10.18959 15.74044 21.92703 +H 9.23917 14.78508 23.10887 +C 10.32891 11.85189 22.69488 +H 9.63612 11.54969 21.88275 +H 9.76148 11.96499 23.64137 +H 11.11039 11.07502 22.82249 diff --git a/tests/inputs/geocheck/compact_bonding/opt.xyz b/tests/testresources/inputs/geocheck/compact_bonding/opt.xyz similarity index 100% rename from tests/inputs/geocheck/compact_bonding/opt.xyz rename to tests/testresources/inputs/geocheck/compact_bonding/opt.xyz diff --git a/tests/inputs/geocheck/iodide_radius/init.xyz b/tests/testresources/inputs/geocheck/iodide_radius/init.xyz similarity index 100% rename from tests/inputs/geocheck/iodide_radius/init.xyz rename to tests/testresources/inputs/geocheck/iodide_radius/init.xyz diff --git a/tests/inputs/geocheck/iodide_radius/opt.xyz b/tests/testresources/inputs/geocheck/iodide_radius/opt.xyz similarity index 100% rename from tests/inputs/geocheck/iodide_radius/opt.xyz rename to tests/testresources/inputs/geocheck/iodide_radius/opt.xyz diff --git a/tests/inputs/geocheck/iodine_sulfur/init.xyz b/tests/testresources/inputs/geocheck/iodine_sulfur/init.xyz similarity index 100% rename from tests/inputs/geocheck/iodine_sulfur/init.xyz rename to tests/testresources/inputs/geocheck/iodine_sulfur/init.xyz diff --git a/tests/inputs/geocheck/iodine_sulfur/opt.xyz b/tests/testresources/inputs/geocheck/iodine_sulfur/opt.xyz similarity index 100% rename from tests/inputs/geocheck/iodine_sulfur/opt.xyz rename to tests/testresources/inputs/geocheck/iodine_sulfur/opt.xyz diff --git a/tests/inputs/geocheck/ligand_assemble/init.xyz b/tests/testresources/inputs/geocheck/ligand_assemble/init.xyz similarity index 100% rename from tests/inputs/geocheck/ligand_assemble/init.xyz rename to tests/testresources/inputs/geocheck/ligand_assemble/init.xyz diff --git a/tests/inputs/geocheck/ligand_assemble/opt.xyz b/tests/testresources/inputs/geocheck/ligand_assemble/opt.xyz similarity index 100% rename from tests/inputs/geocheck/ligand_assemble/opt.xyz rename to tests/testresources/inputs/geocheck/ligand_assemble/opt.xyz diff --git a/tests/inputs/geocheck/ligand_bent/init.xyz b/tests/testresources/inputs/geocheck/ligand_bent/init.xyz similarity index 100% rename from tests/inputs/geocheck/ligand_bent/init.xyz rename to tests/testresources/inputs/geocheck/ligand_bent/init.xyz diff --git a/tests/inputs/geocheck/ligand_bent/opt.xyz b/tests/testresources/inputs/geocheck/ligand_bent/opt.xyz similarity index 100% rename from tests/inputs/geocheck/ligand_bent/opt.xyz rename to tests/testresources/inputs/geocheck/ligand_bent/opt.xyz diff --git a/tests/inputs/geocheck/linear_broken/init.xyz b/tests/testresources/inputs/geocheck/linear_broken/init.xyz similarity index 100% rename from tests/inputs/geocheck/linear_broken/init.xyz rename to tests/testresources/inputs/geocheck/linear_broken/init.xyz diff --git a/tests/inputs/geocheck/linear_broken/opt.xyz b/tests/testresources/inputs/geocheck/linear_broken/opt.xyz similarity index 100% rename from tests/inputs/geocheck/linear_broken/opt.xyz rename to tests/testresources/inputs/geocheck/linear_broken/opt.xyz diff --git a/tests/inputs/geocheck/methane_trans/init.xyz b/tests/testresources/inputs/geocheck/methane_trans/init.xyz similarity index 100% rename from tests/inputs/geocheck/methane_trans/init.xyz rename to tests/testresources/inputs/geocheck/methane_trans/init.xyz diff --git a/tests/inputs/geocheck/methane_trans/opt.xyz b/tests/testresources/inputs/geocheck/methane_trans/opt.xyz similarity index 100% rename from tests/inputs/geocheck/methane_trans/opt.xyz rename to tests/testresources/inputs/geocheck/methane_trans/opt.xyz diff --git a/tests/inputs/geocheck/oct_comp_greedy/init.xyz b/tests/testresources/inputs/geocheck/oct_comp_greedy/init.xyz similarity index 100% rename from tests/inputs/geocheck/oct_comp_greedy/init.xyz rename to tests/testresources/inputs/geocheck/oct_comp_greedy/init.xyz diff --git a/tests/inputs/geocheck/oct_comp_greedy/opt.xyz b/tests/testresources/inputs/geocheck/oct_comp_greedy/opt.xyz similarity index 100% rename from tests/inputs/geocheck/oct_comp_greedy/opt.xyz rename to tests/testresources/inputs/geocheck/oct_comp_greedy/opt.xyz diff --git a/tests/inputs/geocheck/one_empty_bad/init.xyz b/tests/testresources/inputs/geocheck/one_empty_bad/init.xyz similarity index 100% rename from tests/inputs/geocheck/one_empty_bad/init.xyz rename to tests/testresources/inputs/geocheck/one_empty_bad/init.xyz diff --git a/tests/inputs/geocheck/one_empty_bad/opt.xyz b/tests/testresources/inputs/geocheck/one_empty_bad/opt.xyz similarity index 100% rename from tests/inputs/geocheck/one_empty_bad/opt.xyz rename to tests/testresources/inputs/geocheck/one_empty_bad/opt.xyz diff --git a/tests/inputs/geocheck/one_empty_good/init.xyz b/tests/testresources/inputs/geocheck/one_empty_good/init.xyz similarity index 100% rename from tests/inputs/geocheck/one_empty_good/init.xyz rename to tests/testresources/inputs/geocheck/one_empty_good/init.xyz diff --git a/tests/inputs/geocheck/one_empty_good/opt.xyz b/tests/testresources/inputs/geocheck/one_empty_good/opt.xyz similarity index 100% rename from tests/inputs/geocheck/one_empty_good/opt.xyz rename to tests/testresources/inputs/geocheck/one_empty_good/opt.xyz diff --git a/tests/inputs/geocheck/rotational_group/init.xyz b/tests/testresources/inputs/geocheck/rotational_group/init.xyz similarity index 100% rename from tests/inputs/geocheck/rotational_group/init.xyz rename to tests/testresources/inputs/geocheck/rotational_group/init.xyz diff --git a/tests/inputs/geocheck/rotational_group/opt.xyz b/tests/testresources/inputs/geocheck/rotational_group/opt.xyz similarity index 100% rename from tests/inputs/geocheck/rotational_group/opt.xyz rename to tests/testresources/inputs/geocheck/rotational_group/opt.xyz diff --git a/tests/inputs/geocheck/switch_test/init.xyz b/tests/testresources/inputs/geocheck/switch_test/init.xyz similarity index 100% rename from tests/inputs/geocheck/switch_test/init.xyz rename to tests/testresources/inputs/geocheck/switch_test/init.xyz diff --git a/tests/inputs/geocheck/switch_test/opt.xyz b/tests/testresources/inputs/geocheck/switch_test/opt.xyz similarity index 100% rename from tests/inputs/geocheck/switch_test/opt.xyz rename to tests/testresources/inputs/geocheck/switch_test/opt.xyz diff --git a/tests/testresources/inputs/geocheck/triplebond_linear_broken/init.xyz b/tests/testresources/inputs/geocheck/triplebond_linear_broken/init.xyz new file mode 100644 index 00000000..1fde35f9 --- /dev/null +++ b/tests/testresources/inputs/geocheck/triplebond_linear_broken/init.xyz @@ -0,0 +1,48 @@ +46 +10/20/2023 15:14, XYZ structure generated by mol3D Class, molSimplify +Cd 0.000000 0.000000 0.000000 +N 0.888670 2.286908 -0.138875 +N 2.230000 0.000000 0.000000 +N 0.484831 -2.286908 0.138875 +C 0.192636 3.414133 -0.317593 +H -0.752725 3.360358 -0.403191 +C 0.802654 4.665916 -0.383757 +H 0.284511 5.450119 -0.520162 +C 2.166556 4.741024 -0.247557 +H 2.605183 5.582459 -0.281752 +C 2.898657 3.575431 -0.060630 +H 3.842805 3.610941 0.043360 +C 2.229354 2.356145 -0.026818 +C 2.951585 1.045787 0.110406 +C 4.426953 1.006931 0.344951 +H 4.869917 0.592937 -0.425158 +H 4.616117 0.484101 1.151796 +H 4.762429 1.920049 0.462305 +C 2.800816 -1.334075 0.123597 +H 2.957797 -1.546246 1.077217 +H 3.668621 -1.376528 -0.352368 +C 1.827332 -2.338075 -0.479399 +H 1.741020 -2.160171 -1.449782 +H 2.197426 -3.249828 -0.370701 +C 0.537108 -2.907815 1.488353 +H 1.098124 -2.351601 2.085927 +H 0.952276 -3.804078 1.423974 +C -0.846068 -3.036455 2.073049 +H -0.788061 -3.449226 2.970619 +H -1.246810 -2.136184 2.175041 +C -1.795587 -3.213975 -0.057003 +H -2.204986 -2.319274 0.044378 +H -2.388871 -3.759034 -0.633724 +C -0.442024 -3.078132 -0.711401 +H -0.059608 -3.978826 -0.866786 +H -0.544417 -2.634273 -1.590049 +O -1.680576 -3.836014 1.233903 +N -2.230000 0.000000 -0.000000 +N -3.432143 0.000000 -0.000000 +N -4.591823 0.008920 -0.027340 +N -0.000000 0.000000 2.230000 +N -0.000000 0.000000 3.432143 +N -0.028592 0.003093 4.591823 +O 0.000000 0.000000 -2.210000 +H 0.455175 0.506496 -2.692472 +H -0.455175 -0.506496 -2.678863 diff --git a/tests/testresources/inputs/geocheck/triplebond_linear_broken/opt.xyz b/tests/testresources/inputs/geocheck/triplebond_linear_broken/opt.xyz new file mode 100644 index 00000000..2c721334 --- /dev/null +++ b/tests/testresources/inputs/geocheck/triplebond_linear_broken/opt.xyz @@ -0,0 +1,48 @@ +46 + +Cd 0.00000 0.00000 0.00000 +N 1.83370 -1.51990 0.01414 +N -0.73524 -2.18764 0.06937 +N -2.46737 0.10090 -0.16969 +C 3.11635 -1.17019 -0.12571 +H 3.32641 -0.26057 -0.30565 +C 4.15745 -2.09105 -0.01801 +H 5.05973 -1.81669 -0.13050 +C 3.85122 -3.40128 0.25394 +H 4.54263 -4.04645 0.33926 +C 2.52142 -3.77449 0.40184 +H 2.29300 -4.67601 0.59821 +C 1.52965 -2.80915 0.25941 +C 0.06662 -3.14067 0.34379 +C -0.38548 -4.51625 0.71338 +H -0.85467 -4.92149 -0.04579 +H -0.98979 -4.46607 1.48306 +H 0.39320 -5.06380 0.94565 +C -2.17914 -2.36949 0.12363 +H -2.48559 -2.35298 1.06429 +H -2.42520 -3.24498 -0.26930 +C -2.84153 -1.24356 -0.65921 +H -2.58609 -1.32069 -1.61291 +H -3.82444 -1.34584 -0.60003 +C -3.16297 0.37119 1.11578 +H -2.81851 -0.24266 1.81273 +H -4.13232 0.20150 1.00913 +C -2.94838 1.79794 1.55160 +H -3.41714 1.95540 2.40883 +H -1.98146 1.95714 1.69727 +C -2.72719 2.50585 -0.66654 +H -1.76324 2.67473 -0.52281 +H -3.05350 3.15010 -1.34488 +C -2.92244 1.09745 -1.17362 +H -3.88143 0.94969 -1.37399 +H -2.41298 0.97654 -2.01346 +O -3.43720 2.70952 0.56675 +N 0.99841 1.99427 0.03983 +N 0.54564 2.84593 0.75734 +N 0.11806 3.68775 1.43128 +N -0.00000 -0.00000 2.38374 +N -0.20067 -0.85092 2.83312 +N -0.61529 -2.04273 3.40316 +O 0.03900 0.01301 -2.31198 +H 0.69742 0.36642 -2.68356 +H -0.26045 -0.59670 -2.78331 diff --git a/tests/inputs/geometry_type/octahedral.xyz b/tests/testresources/inputs/geometry_type/octahedral.xyz similarity index 100% rename from tests/inputs/geometry_type/octahedral.xyz rename to tests/testresources/inputs/geometry_type/octahedral.xyz diff --git a/tests/inputs/geometry_type/pentagonal_bipyramidal.xyz b/tests/testresources/inputs/geometry_type/pentagonal_bipyramidal.xyz similarity index 100% rename from tests/inputs/geometry_type/pentagonal_bipyramidal.xyz rename to tests/testresources/inputs/geometry_type/pentagonal_bipyramidal.xyz diff --git a/tests/inputs/geometry_type/pentagonal_planar.xyz b/tests/testresources/inputs/geometry_type/pentagonal_planar.xyz similarity index 100% rename from tests/inputs/geometry_type/pentagonal_planar.xyz rename to tests/testresources/inputs/geometry_type/pentagonal_planar.xyz diff --git a/tests/inputs/geometry_type/pentagonal_pyramidal.xyz b/tests/testresources/inputs/geometry_type/pentagonal_pyramidal.xyz similarity index 100% rename from tests/inputs/geometry_type/pentagonal_pyramidal.xyz rename to tests/testresources/inputs/geometry_type/pentagonal_pyramidal.xyz diff --git a/tests/inputs/geometry_type/seesaw.xyz b/tests/testresources/inputs/geometry_type/seesaw.xyz similarity index 100% rename from tests/inputs/geometry_type/seesaw.xyz rename to tests/testresources/inputs/geometry_type/seesaw.xyz diff --git a/tests/inputs/geometry_type/square_planar.xyz b/tests/testresources/inputs/geometry_type/square_planar.xyz similarity index 100% rename from tests/inputs/geometry_type/square_planar.xyz rename to tests/testresources/inputs/geometry_type/square_planar.xyz diff --git a/tests/inputs/geometry_type/square_pyramidal.xyz b/tests/testresources/inputs/geometry_type/square_pyramidal.xyz similarity index 100% rename from tests/inputs/geometry_type/square_pyramidal.xyz rename to tests/testresources/inputs/geometry_type/square_pyramidal.xyz diff --git a/tests/inputs/geometry_type/t_shape.xyz b/tests/testresources/inputs/geometry_type/t_shape.xyz similarity index 100% rename from tests/inputs/geometry_type/t_shape.xyz rename to tests/testresources/inputs/geometry_type/t_shape.xyz diff --git a/tests/inputs/geometry_type/tetrahedral.xyz b/tests/testresources/inputs/geometry_type/tetrahedral.xyz similarity index 100% rename from tests/inputs/geometry_type/tetrahedral.xyz rename to tests/testresources/inputs/geometry_type/tetrahedral.xyz diff --git a/tests/inputs/geometry_type/trigonal_bipyramidal.xyz b/tests/testresources/inputs/geometry_type/trigonal_bipyramidal.xyz similarity index 100% rename from tests/inputs/geometry_type/trigonal_bipyramidal.xyz rename to tests/testresources/inputs/geometry_type/trigonal_bipyramidal.xyz diff --git a/tests/inputs/geometry_type/trigonal_planar.xyz b/tests/testresources/inputs/geometry_type/trigonal_planar.xyz similarity index 100% rename from tests/inputs/geometry_type/trigonal_planar.xyz rename to tests/testresources/inputs/geometry_type/trigonal_planar.xyz diff --git a/tests/inputs/geometry_type/trigonal_prismatic.xyz b/tests/testresources/inputs/geometry_type/trigonal_prismatic.xyz similarity index 100% rename from tests/inputs/geometry_type/trigonal_prismatic.xyz rename to tests/testresources/inputs/geometry_type/trigonal_prismatic.xyz diff --git a/tests/inputs/geometry_type/trigonal_pyramidal.xyz b/tests/testresources/inputs/geometry_type/trigonal_pyramidal.xyz similarity index 100% rename from tests/inputs/geometry_type/trigonal_pyramidal.xyz rename to tests/testresources/inputs/geometry_type/trigonal_pyramidal.xyz diff --git a/tests/inputs/gfnff_NH3_BA.in b/tests/testresources/inputs/gfnff_NH3_BA.in similarity index 100% rename from tests/inputs/gfnff_NH3_BA.in rename to tests/testresources/inputs/gfnff_NH3_BA.in diff --git a/tests/inputs/io/acac.mol2 b/tests/testresources/inputs/io/acac.mol2 similarity index 100% rename from tests/inputs/io/acac.mol2 rename to tests/testresources/inputs/io/acac.mol2 diff --git a/tests/inputs/ligand_assign_consistent/fe_acac_bipy_bipy.xyz b/tests/testresources/inputs/ligand_assign_consistent/fe_acac_bipy_bipy.xyz similarity index 100% rename from tests/inputs/ligand_assign_consistent/fe_acac_bipy_bipy.xyz rename to tests/testresources/inputs/ligand_assign_consistent/fe_acac_bipy_bipy.xyz diff --git a/tests/inputs/ligand_assign_consistent/fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz b/tests/testresources/inputs/ligand_assign_consistent/fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz similarity index 100% rename from tests/inputs/ligand_assign_consistent/fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz rename to tests/testresources/inputs/ligand_assign_consistent/fe_water_ammonia_carbonyl_formaldehyde_hydrogensulfide_hydrocyanide.xyz diff --git a/tests/inputs/ligand_from_mol_file.in b/tests/testresources/inputs/ligand_from_mol_file.in similarity index 100% rename from tests/inputs/ligand_from_mol_file.in rename to tests/testresources/inputs/ligand_from_mol_file.in diff --git a/tests/inputs/molcas_caspt2.in b/tests/testresources/inputs/molcas_caspt2.in similarity index 100% rename from tests/inputs/molcas_caspt2.in rename to tests/testresources/inputs/molcas_caspt2.in diff --git a/tests/inputs/molcas_casscf.in b/tests/testresources/inputs/molcas_casscf.in similarity index 100% rename from tests/inputs/molcas_casscf.in rename to tests/testresources/inputs/molcas_casscf.in diff --git a/tests/inputs/old_ANN.in b/tests/testresources/inputs/old_ANN.in similarity index 100% rename from tests/inputs/old_ANN.in rename to tests/testresources/inputs/old_ANN.in diff --git a/tests/inputs/orca_ccsdt.in b/tests/testresources/inputs/orca_ccsdt.in similarity index 100% rename from tests/inputs/orca_ccsdt.in rename to tests/testresources/inputs/orca_ccsdt.in diff --git a/tests/inputs/orca_dft.in b/tests/testresources/inputs/orca_dft.in similarity index 100% rename from tests/inputs/orca_dft.in rename to tests/testresources/inputs/orca_dft.in diff --git a/tests/inputs/pd_test_tutorial_2.cif b/tests/testresources/inputs/pd_test_tutorial_2.cif similarity index 100% rename from tests/inputs/pd_test_tutorial_2.cif rename to tests/testresources/inputs/pd_test_tutorial_2.cif diff --git a/tests/inputs/pdp.mol b/tests/testresources/inputs/pdp.mol similarity index 100% rename from tests/inputs/pdp.mol rename to tests/testresources/inputs/pdp.mol diff --git a/tests/inputs/qcgen/FeH2O6.xyz b/tests/testresources/inputs/qcgen/FeH2O6.xyz similarity index 100% rename from tests/inputs/qcgen/FeH2O6.xyz rename to tests/testresources/inputs/qcgen/FeH2O6.xyz diff --git a/tests/inputs/rmsd/BUWGOQ.xyz b/tests/testresources/inputs/rmsd/BUWGOQ.xyz similarity index 100% rename from tests/inputs/rmsd/BUWGOQ.xyz rename to tests/testresources/inputs/rmsd/BUWGOQ.xyz diff --git a/tests/inputs/rmsd/BUWGOQ_final.xyz b/tests/testresources/inputs/rmsd/BUWGOQ_final.xyz similarity index 100% rename from tests/inputs/rmsd/BUWGOQ_final.xyz rename to tests/testresources/inputs/rmsd/BUWGOQ_final.xyz diff --git a/tests/inputs/rmsd/BUWGOQ_final_reordered.xyz b/tests/testresources/inputs/rmsd/BUWGOQ_final_reordered.xyz similarity index 100% rename from tests/inputs/rmsd/BUWGOQ_final_reordered.xyz rename to tests/testresources/inputs/rmsd/BUWGOQ_final_reordered.xyz diff --git a/tests/inputs/rmsd/BUWGOQ_noH.xyz b/tests/testresources/inputs/rmsd/BUWGOQ_noH.xyz similarity index 100% rename from tests/inputs/rmsd/BUWGOQ_noH.xyz rename to tests/testresources/inputs/rmsd/BUWGOQ_noH.xyz diff --git a/tests/inputs/rmsd/BUWGOQ_noH_final.xyz b/tests/testresources/inputs/rmsd/BUWGOQ_noH_final.xyz similarity index 100% rename from tests/inputs/rmsd/BUWGOQ_noH_final.xyz rename to tests/testresources/inputs/rmsd/BUWGOQ_noH_final.xyz diff --git a/tests/inputs/rmsd/example_1.xyz b/tests/testresources/inputs/rmsd/example_1.xyz similarity index 100% rename from tests/inputs/rmsd/example_1.xyz rename to tests/testresources/inputs/rmsd/example_1.xyz diff --git a/tests/inputs/rmsd/example_1_noff.xyz b/tests/testresources/inputs/rmsd/example_1_noff.xyz similarity index 100% rename from tests/inputs/rmsd/example_1_noff.xyz rename to tests/testresources/inputs/rmsd/example_1_noff.xyz diff --git a/tests/inputs/slab.xyz b/tests/testresources/inputs/slab.xyz similarity index 100% rename from tests/inputs/slab.xyz rename to tests/testresources/inputs/slab.xyz diff --git a/tests/inputs/tetrahedral_1.in b/tests/testresources/inputs/tetrahedral_1.in similarity index 100% rename from tests/inputs/tetrahedral_1.in rename to tests/testresources/inputs/tetrahedral_1.in diff --git a/tests/inputs/tetrahedral_2.in b/tests/testresources/inputs/tetrahedral_2.in similarity index 100% rename from tests/inputs/tetrahedral_2.in rename to tests/testresources/inputs/tetrahedral_2.in diff --git a/tests/inputs/tutorial_09_part_one.in b/tests/testresources/inputs/tutorial_09_part_one.in similarity index 100% rename from tests/inputs/tutorial_09_part_one.in rename to tests/testresources/inputs/tutorial_09_part_one.in diff --git a/tests/inputs/tutorial_09_part_two.in b/tests/testresources/inputs/tutorial_09_part_two.in similarity index 100% rename from tests/inputs/tutorial_09_part_two.in rename to tests/testresources/inputs/tutorial_09_part_two.in diff --git a/tests/inputs/tutorial_10_part_one.in b/tests/testresources/inputs/tutorial_10_part_one.in similarity index 100% rename from tests/inputs/tutorial_10_part_one.in rename to tests/testresources/inputs/tutorial_10_part_one.in diff --git a/tests/inputs/tutorial_10_part_two.in b/tests/testresources/inputs/tutorial_10_part_two.in similarity index 100% rename from tests/inputs/tutorial_10_part_two.in rename to tests/testresources/inputs/tutorial_10_part_two.in diff --git a/tests/inputs/tutorial_2.in b/tests/testresources/inputs/tutorial_2.in similarity index 100% rename from tests/inputs/tutorial_2.in rename to tests/testresources/inputs/tutorial_2.in diff --git a/tests/inputs/tutorial_3.in b/tests/testresources/inputs/tutorial_3.in similarity index 100% rename from tests/inputs/tutorial_3.in rename to tests/testresources/inputs/tutorial_3.in diff --git a/tests/inputs/tutorial_6.in b/tests/testresources/inputs/tutorial_6.in similarity index 100% rename from tests/inputs/tutorial_6.in rename to tests/testresources/inputs/tutorial_6.in diff --git a/tests/inputs/tutorial_8_part_one.in b/tests/testresources/inputs/tutorial_8_part_one.in similarity index 100% rename from tests/inputs/tutorial_8_part_one.in rename to tests/testresources/inputs/tutorial_8_part_one.in diff --git a/tests/inputs/tutorial_8_part_two.in b/tests/testresources/inputs/tutorial_8_part_two.in similarity index 100% rename from tests/inputs/tutorial_8_part_two.in rename to tests/testresources/inputs/tutorial_8_part_two.in diff --git a/tests/inputs/xtb_ANC_fail.in b/tests/testresources/inputs/xtb_ANC_fail.in similarity index 100% rename from tests/inputs/xtb_ANC_fail.in rename to tests/testresources/inputs/xtb_ANC_fail.in diff --git a/tests/inputs/xtb_H2O_before.in b/tests/testresources/inputs/xtb_H2O_before.in similarity index 100% rename from tests/inputs/xtb_H2O_before.in rename to tests/testresources/inputs/xtb_H2O_before.in diff --git a/tests/inputs/xtb_bipy_spin5.in b/tests/testresources/inputs/xtb_bipy_spin5.in similarity index 100% rename from tests/inputs/xtb_bipy_spin5.in rename to tests/testresources/inputs/xtb_bipy_spin5.in diff --git a/tests/inputs/xtb_final_opt.in b/tests/testresources/inputs/xtb_final_opt.in similarity index 100% rename from tests/inputs/xtb_final_opt.in rename to tests/testresources/inputs/xtb_final_opt.in diff --git a/tests/inputs/xtb_imidazole_BA.in b/tests/testresources/inputs/xtb_imidazole_BA.in similarity index 100% rename from tests/inputs/xtb_imidazole_BA.in rename to tests/testresources/inputs/xtb_imidazole_BA.in diff --git a/tests/refs/bidentate/fe_oct_2_smi10_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi10_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi10_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi10_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi10_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi1_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi1_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi1_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi1_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi1_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi2_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi2_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi2_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi2_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi2_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi3_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi3_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi3_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi3_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi3_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi4_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi4_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi4_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi4_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi4_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi5_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi6_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi6_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi6_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi6_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi6_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi7_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi7_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi7_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi7_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi7_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi8_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi8_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi8_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi8_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi8_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/fe_oct_2_smi9_2_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi9_2_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi9_2_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi9_2_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.report b/tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.report diff --git a/tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate/fe_oct_2_smi9_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate/jobscript b/tests/testresources/refs/bidentate/jobscript similarity index 100% rename from tests/refs/bidentate/jobscript rename to tests/testresources/refs/bidentate/jobscript diff --git a/tests/refs/bidentate/terachem_input b/tests/testresources/refs/bidentate/terachem_input similarity index 100% rename from tests/refs/bidentate/terachem_input rename to tests/testresources/refs/bidentate/terachem_input diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi10_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi1_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi2_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi3_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi4_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi5_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi6_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi7_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi8_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_cp/fe_oct_2_smi9_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_cp/jobscript b/tests/testresources/refs/bidentate_cp/jobscript similarity index 100% rename from tests/refs/bidentate_cp/jobscript rename to tests/testresources/refs/bidentate_cp/jobscript diff --git a/tests/refs/bidentate_cp/terachem_input b/tests/testresources/refs/bidentate_cp/terachem_input similarity index 100% rename from tests/refs/bidentate_cp/terachem_input rename to tests/testresources/refs/bidentate_cp/terachem_input diff --git a/tests/refs/bidentate_new/.fe_oct_2_smi10_3_s_1_conf_1.report.swp b/tests/testresources/refs/bidentate_new/.fe_oct_2_smi10_3_s_1_conf_1.report.swp similarity index 100% rename from tests/refs/bidentate_new/.fe_oct_2_smi10_3_s_1_conf_1.report.swp rename to tests/testresources/refs/bidentate_new/.fe_oct_2_smi10_3_s_1_conf_1.report.swp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi10_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi1_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi2_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi3_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi4_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi5_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi6_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi7_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi8_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_new/fe_oct_2_smi9_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_new/jobscript b/tests/testresources/refs/bidentate_new/jobscript similarity index 100% rename from tests/refs/bidentate_new/jobscript rename to tests/testresources/refs/bidentate_new/jobscript diff --git a/tests/refs/bidentate_new/terachem_input b/tests/testresources/refs/bidentate_new/terachem_input similarity index 100% rename from tests/refs/bidentate_new/terachem_input rename to tests/testresources/refs/bidentate_new/terachem_input diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi10_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi1_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi2_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi3_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi4_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi5_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi6_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi7_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi8_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.molinp b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.molinp similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.molinp rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.molinp diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.report b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.report similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.report rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.report diff --git a/tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.xyz b/tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.xyz similarity index 100% rename from tests/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.xyz rename to tests/testresources/refs/bidentate_v3/fe_oct_2_smi9_3_s_1_conf_1.xyz diff --git a/tests/refs/bidentate_v3/jobscript b/tests/testresources/refs/bidentate_v3/jobscript similarity index 100% rename from tests/refs/bidentate_v3/jobscript rename to tests/testresources/refs/bidentate_v3/jobscript diff --git a/tests/refs/bidentate_v3/terachem_input b/tests/testresources/refs/bidentate_v3/terachem_input similarity index 100% rename from tests/refs/bidentate_v3/terachem_input rename to tests/testresources/refs/bidentate_v3/terachem_input diff --git a/tests/refs/example_1.report b/tests/testresources/refs/example_1.report similarity index 100% rename from tests/refs/example_1.report rename to tests/testresources/refs/example_1.report diff --git a/tests/refs/example_1.xyz b/tests/testresources/refs/example_1.xyz similarity index 100% rename from tests/refs/example_1.xyz rename to tests/testresources/refs/example_1.xyz diff --git a/tests/refs/example_1_noff.report b/tests/testresources/refs/example_1_noff.report similarity index 100% rename from tests/refs/example_1_noff.report rename to tests/testresources/refs/example_1_noff.report diff --git a/tests/refs/example_1_noff.xyz b/tests/testresources/refs/example_1_noff.xyz similarity index 100% rename from tests/refs/example_1_noff.xyz rename to tests/testresources/refs/example_1_noff.xyz diff --git a/tests/refs/example_3.report b/tests/testresources/refs/example_3.report similarity index 100% rename from tests/refs/example_3.report rename to tests/testresources/refs/example_3.report diff --git a/tests/refs/example_3.xyz b/tests/testresources/refs/example_3.xyz similarity index 100% rename from tests/refs/example_3.xyz rename to tests/testresources/refs/example_3.xyz diff --git a/tests/refs/example_3_noff.report b/tests/testresources/refs/example_3_noff.report similarity index 100% rename from tests/refs/example_3_noff.report rename to tests/testresources/refs/example_3_noff.report diff --git a/tests/refs/example_3_noff.xyz b/tests/testresources/refs/example_3_noff.xyz similarity index 100% rename from tests/refs/example_3_noff.xyz rename to tests/testresources/refs/example_3_noff.xyz diff --git a/tests/refs/example_5.report b/tests/testresources/refs/example_5.report similarity index 100% rename from tests/refs/example_5.report rename to tests/testresources/refs/example_5.report diff --git a/tests/refs/example_5.xyz b/tests/testresources/refs/example_5.xyz similarity index 100% rename from tests/refs/example_5.xyz rename to tests/testresources/refs/example_5.xyz diff --git a/tests/refs/example_5_noff.report b/tests/testresources/refs/example_5_noff.report similarity index 100% rename from tests/refs/example_5_noff.report rename to tests/testresources/refs/example_5_noff.report diff --git a/tests/refs/example_5_noff.xyz b/tests/testresources/refs/example_5_noff.xyz similarity index 100% rename from tests/refs/example_5_noff.xyz rename to tests/testresources/refs/example_5_noff.xyz diff --git a/tests/refs/example_5_v3.report b/tests/testresources/refs/example_5_v3.report similarity index 100% rename from tests/refs/example_5_v3.report rename to tests/testresources/refs/example_5_v3.report diff --git a/tests/refs/example_5_v3.xyz b/tests/testresources/refs/example_5_v3.xyz similarity index 100% rename from tests/refs/example_5_v3.xyz rename to tests/testresources/refs/example_5_v3.xyz diff --git a/tests/refs/example_5_v3_noff.report b/tests/testresources/refs/example_5_v3_noff.report similarity index 100% rename from tests/refs/example_5_v3_noff.report rename to tests/testresources/refs/example_5_v3_noff.report diff --git a/tests/refs/example_5_v3_noff.xyz b/tests/testresources/refs/example_5_v3_noff.xyz similarity index 100% rename from tests/refs/example_5_v3_noff.xyz rename to tests/testresources/refs/example_5_v3_noff.xyz diff --git a/tests/refs/example_7.report b/tests/testresources/refs/example_7.report similarity index 100% rename from tests/refs/example_7.report rename to tests/testresources/refs/example_7.report diff --git a/tests/refs/example_7.xyz b/tests/testresources/refs/example_7.xyz similarity index 100% rename from tests/refs/example_7.xyz rename to tests/testresources/refs/example_7.xyz diff --git a/tests/refs/example_7_noff.report b/tests/testresources/refs/example_7_noff.report similarity index 100% rename from tests/refs/example_7_noff.report rename to tests/testresources/refs/example_7_noff.report diff --git a/tests/refs/example_7_noff.xyz b/tests/testresources/refs/example_7_noff.xyz similarity index 100% rename from tests/refs/example_7_noff.xyz rename to tests/testresources/refs/example_7_noff.xyz diff --git a/tests/refs/example_8.report b/tests/testresources/refs/example_8.report similarity index 100% rename from tests/refs/example_8.report rename to tests/testresources/refs/example_8.report diff --git a/tests/refs/example_8.xyz b/tests/testresources/refs/example_8.xyz similarity index 100% rename from tests/refs/example_8.xyz rename to tests/testresources/refs/example_8.xyz diff --git a/tests/refs/example_9.report b/tests/testresources/refs/example_9.report similarity index 100% rename from tests/refs/example_9.report rename to tests/testresources/refs/example_9.report diff --git a/tests/refs/example_9.xyz b/tests/testresources/refs/example_9.xyz similarity index 100% rename from tests/refs/example_9.xyz rename to tests/testresources/refs/example_9.xyz diff --git a/tests/refs/example_tbp.report b/tests/testresources/refs/example_tbp.report similarity index 100% rename from tests/refs/example_tbp.report rename to tests/testresources/refs/example_tbp.report diff --git a/tests/refs/example_tbp.xyz b/tests/testresources/refs/example_tbp.xyz similarity index 100% rename from tests/refs/example_tbp.xyz rename to tests/testresources/refs/example_tbp.xyz diff --git a/tests/refs/geocheck/H_transfer/ref.json b/tests/testresources/refs/geocheck/H_transfer/ref.json similarity index 100% rename from tests/refs/geocheck/H_transfer/ref.json rename to tests/testresources/refs/geocheck/H_transfer/ref.json diff --git a/tests/refs/geocheck/all_flying_away/ref.json b/tests/testresources/refs/geocheck/all_flying_away/ref.json similarity index 100% rename from tests/refs/geocheck/all_flying_away/ref.json rename to tests/testresources/refs/geocheck/all_flying_away/ref.json diff --git a/tests/refs/geocheck/atom_ordering_mismatch/ref.json b/tests/testresources/refs/geocheck/atom_ordering_mismatch/ref.json similarity index 100% rename from tests/refs/geocheck/atom_ordering_mismatch/ref.json rename to tests/testresources/refs/geocheck/atom_ordering_mismatch/ref.json diff --git a/tests/refs/geocheck/broken_ligands/ref.json b/tests/testresources/refs/geocheck/broken_ligands/ref.json similarity index 100% rename from tests/refs/geocheck/broken_ligands/ref.json rename to tests/testresources/refs/geocheck/broken_ligands/ref.json diff --git a/tests/refs/geocheck/catom_change/ref.json b/tests/testresources/refs/geocheck/catom_change/ref.json similarity index 100% rename from tests/refs/geocheck/catom_change/ref.json rename to tests/testresources/refs/geocheck/catom_change/ref.json diff --git a/tests/testresources/refs/geocheck/compact_bonding/ref.json b/tests/testresources/refs/geocheck/compact_bonding/ref.json new file mode 100644 index 00000000..c4220f97 --- /dev/null +++ b/tests/testresources/refs/geocheck/compact_bonding/ref.json @@ -0,0 +1 @@ +{"oct_angle_devi_max": 12.509040337158584, "num_coord_metal": 6, "rmsd_max": 0.21464901257893731, "max_del_sig_angle": 24.5649893674979, "dist_del_eq": 0, "devi_linear_max": 0.0, "atom_dist_max": "banned_by_user", "devi_linear_avrg": 0.0, "dist_del_all": 0.8729087434449587} diff --git a/tests/refs/geocheck/iodide_radius/ref.json b/tests/testresources/refs/geocheck/iodide_radius/ref.json similarity index 100% rename from tests/refs/geocheck/iodide_radius/ref.json rename to tests/testresources/refs/geocheck/iodide_radius/ref.json diff --git a/tests/refs/geocheck/iodine_sulfur/ref.json b/tests/testresources/refs/geocheck/iodine_sulfur/ref.json similarity index 100% rename from tests/refs/geocheck/iodine_sulfur/ref.json rename to tests/testresources/refs/geocheck/iodine_sulfur/ref.json diff --git a/tests/refs/geocheck/ligand_assemble/ref.json b/tests/testresources/refs/geocheck/ligand_assemble/ref.json similarity index 100% rename from tests/refs/geocheck/ligand_assemble/ref.json rename to tests/testresources/refs/geocheck/ligand_assemble/ref.json diff --git a/tests/refs/geocheck/ligand_bent/ref.json b/tests/testresources/refs/geocheck/ligand_bent/ref.json similarity index 100% rename from tests/refs/geocheck/ligand_bent/ref.json rename to tests/testresources/refs/geocheck/ligand_bent/ref.json diff --git a/tests/refs/geocheck/linear_broken/ref.json b/tests/testresources/refs/geocheck/linear_broken/ref.json similarity index 100% rename from tests/refs/geocheck/linear_broken/ref.json rename to tests/testresources/refs/geocheck/linear_broken/ref.json diff --git a/tests/refs/geocheck/methane_trans/ref.json b/tests/testresources/refs/geocheck/methane_trans/ref.json similarity index 100% rename from tests/refs/geocheck/methane_trans/ref.json rename to tests/testresources/refs/geocheck/methane_trans/ref.json diff --git a/tests/refs/geocheck/oct_comp_greedy/ref.json b/tests/testresources/refs/geocheck/oct_comp_greedy/ref.json similarity index 100% rename from tests/refs/geocheck/oct_comp_greedy/ref.json rename to tests/testresources/refs/geocheck/oct_comp_greedy/ref.json diff --git a/tests/refs/geocheck/one_empty_bad/ref.json b/tests/testresources/refs/geocheck/one_empty_bad/ref.json similarity index 100% rename from tests/refs/geocheck/one_empty_bad/ref.json rename to tests/testresources/refs/geocheck/one_empty_bad/ref.json diff --git a/tests/refs/geocheck/one_empty_good/ref.json b/tests/testresources/refs/geocheck/one_empty_good/ref.json similarity index 100% rename from tests/refs/geocheck/one_empty_good/ref.json rename to tests/testresources/refs/geocheck/one_empty_good/ref.json diff --git a/tests/refs/geocheck/rotational_group/ref.json b/tests/testresources/refs/geocheck/rotational_group/ref.json similarity index 100% rename from tests/refs/geocheck/rotational_group/ref.json rename to tests/testresources/refs/geocheck/rotational_group/ref.json diff --git a/tests/refs/geocheck/switch_test/ref.json b/tests/testresources/refs/geocheck/switch_test/ref.json similarity index 100% rename from tests/refs/geocheck/switch_test/ref.json rename to tests/testresources/refs/geocheck/switch_test/ref.json diff --git a/tests/testresources/refs/geocheck/triplebond_linear_broken/ref.json b/tests/testresources/refs/geocheck/triplebond_linear_broken/ref.json new file mode 100644 index 00000000..ce877fc4 --- /dev/null +++ b/tests/testresources/refs/geocheck/triplebond_linear_broken/ref.json @@ -0,0 +1 @@ +{"oct_angle_devi_max": 16.938359558983926, "num_coord_metal": 6, "rmsd_max": 2.3777345741097315, "max_del_sig_angle": 37.45209560748253, "dist_del_eq": 0, "devi_linear_max": 62.79634086322342, "atom_dist_max": "banned_by_user", "devi_linear_avrg": 62.79634086322342, "dist_del_all": 0.24466781959991257} diff --git a/tests/refs/gfnff_NH3_BA.report b/tests/testresources/refs/gfnff_NH3_BA.report similarity index 100% rename from tests/refs/gfnff_NH3_BA.report rename to tests/testresources/refs/gfnff_NH3_BA.report diff --git a/tests/refs/gfnff_NH3_BA.xyz b/tests/testresources/refs/gfnff_NH3_BA.xyz similarity index 100% rename from tests/refs/gfnff_NH3_BA.xyz rename to tests/testresources/refs/gfnff_NH3_BA.xyz diff --git a/tests/refs/joption_pythonic_jobscript b/tests/testresources/refs/joption_pythonic_jobscript similarity index 100% rename from tests/refs/joption_pythonic_jobscript rename to tests/testresources/refs/joption_pythonic_jobscript diff --git a/tests/refs/ligand_from_mol_file.report b/tests/testresources/refs/ligand_from_mol_file.report similarity index 100% rename from tests/refs/ligand_from_mol_file.report rename to tests/testresources/refs/ligand_from_mol_file.report diff --git a/tests/refs/ligand_from_mol_file.xyz b/tests/testresources/refs/ligand_from_mol_file.xyz similarity index 100% rename from tests/refs/ligand_from_mol_file.xyz rename to tests/testresources/refs/ligand_from_mol_file.xyz diff --git a/tests/refs/molcas_caspt2.qcin b/tests/testresources/refs/molcas_caspt2.qcin similarity index 100% rename from tests/refs/molcas_caspt2.qcin rename to tests/testresources/refs/molcas_caspt2.qcin diff --git a/tests/refs/molcas_caspt2.report b/tests/testresources/refs/molcas_caspt2.report similarity index 100% rename from tests/refs/molcas_caspt2.report rename to tests/testresources/refs/molcas_caspt2.report diff --git a/tests/refs/molcas_caspt2.xyz b/tests/testresources/refs/molcas_caspt2.xyz similarity index 100% rename from tests/refs/molcas_caspt2.xyz rename to tests/testresources/refs/molcas_caspt2.xyz diff --git a/tests/refs/molcas_casscf.qcin b/tests/testresources/refs/molcas_casscf.qcin similarity index 100% rename from tests/refs/molcas_casscf.qcin rename to tests/testresources/refs/molcas_casscf.qcin diff --git a/tests/refs/molcas_casscf.report b/tests/testresources/refs/molcas_casscf.report similarity index 100% rename from tests/refs/molcas_casscf.report rename to tests/testresources/refs/molcas_casscf.report diff --git a/tests/refs/molcas_casscf.xyz b/tests/testresources/refs/molcas_casscf.xyz similarity index 100% rename from tests/refs/molcas_casscf.xyz rename to tests/testresources/refs/molcas_casscf.xyz diff --git a/tests/refs/old_ANN.report b/tests/testresources/refs/old_ANN.report similarity index 100% rename from tests/refs/old_ANN.report rename to tests/testresources/refs/old_ANN.report diff --git a/tests/refs/old_ANN.xyz b/tests/testresources/refs/old_ANN.xyz similarity index 100% rename from tests/refs/old_ANN.xyz rename to tests/testresources/refs/old_ANN.xyz diff --git a/tests/refs/old_ref_cp/example_1.report b/tests/testresources/refs/old_ref_cp/example_1.report similarity index 100% rename from tests/refs/old_ref_cp/example_1.report rename to tests/testresources/refs/old_ref_cp/example_1.report diff --git a/tests/refs/old_ref_cp/example_1.xyz b/tests/testresources/refs/old_ref_cp/example_1.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_1.xyz rename to tests/testresources/refs/old_ref_cp/example_1.xyz diff --git a/tests/refs/old_ref_cp/example_1_noff.report b/tests/testresources/refs/old_ref_cp/example_1_noff.report similarity index 100% rename from tests/refs/old_ref_cp/example_1_noff.report rename to tests/testresources/refs/old_ref_cp/example_1_noff.report diff --git a/tests/refs/old_ref_cp/example_1_noff.xyz b/tests/testresources/refs/old_ref_cp/example_1_noff.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_1_noff.xyz rename to tests/testresources/refs/old_ref_cp/example_1_noff.xyz diff --git a/tests/refs/old_ref_cp/example_3.report b/tests/testresources/refs/old_ref_cp/example_3.report similarity index 100% rename from tests/refs/old_ref_cp/example_3.report rename to tests/testresources/refs/old_ref_cp/example_3.report diff --git a/tests/refs/old_ref_cp/example_3.xyz b/tests/testresources/refs/old_ref_cp/example_3.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_3.xyz rename to tests/testresources/refs/old_ref_cp/example_3.xyz diff --git a/tests/refs/old_ref_cp/example_3_noff.report b/tests/testresources/refs/old_ref_cp/example_3_noff.report similarity index 100% rename from tests/refs/old_ref_cp/example_3_noff.report rename to tests/testresources/refs/old_ref_cp/example_3_noff.report diff --git a/tests/refs/old_ref_cp/example_3_noff.xyz b/tests/testresources/refs/old_ref_cp/example_3_noff.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_3_noff.xyz rename to tests/testresources/refs/old_ref_cp/example_3_noff.xyz diff --git a/tests/refs/old_ref_cp/example_5.report b/tests/testresources/refs/old_ref_cp/example_5.report similarity index 100% rename from tests/refs/old_ref_cp/example_5.report rename to tests/testresources/refs/old_ref_cp/example_5.report diff --git a/tests/refs/old_ref_cp/example_5.xyz b/tests/testresources/refs/old_ref_cp/example_5.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_5.xyz rename to tests/testresources/refs/old_ref_cp/example_5.xyz diff --git a/tests/refs/old_ref_cp/example_5_noff.report b/tests/testresources/refs/old_ref_cp/example_5_noff.report similarity index 100% rename from tests/refs/old_ref_cp/example_5_noff.report rename to tests/testresources/refs/old_ref_cp/example_5_noff.report diff --git a/tests/refs/old_ref_cp/example_5_noff.xyz b/tests/testresources/refs/old_ref_cp/example_5_noff.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_5_noff.xyz rename to tests/testresources/refs/old_ref_cp/example_5_noff.xyz diff --git a/tests/refs/old_ref_cp/example_7.report b/tests/testresources/refs/old_ref_cp/example_7.report similarity index 100% rename from tests/refs/old_ref_cp/example_7.report rename to tests/testresources/refs/old_ref_cp/example_7.report diff --git a/tests/refs/old_ref_cp/example_7.xyz b/tests/testresources/refs/old_ref_cp/example_7.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_7.xyz rename to tests/testresources/refs/old_ref_cp/example_7.xyz diff --git a/tests/refs/old_ref_cp/example_8.report b/tests/testresources/refs/old_ref_cp/example_8.report similarity index 100% rename from tests/refs/old_ref_cp/example_8.report rename to tests/testresources/refs/old_ref_cp/example_8.report diff --git a/tests/refs/old_ref_cp/example_8.xyz b/tests/testresources/refs/old_ref_cp/example_8.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_8.xyz rename to tests/testresources/refs/old_ref_cp/example_8.xyz diff --git a/tests/refs/old_ref_cp/example_9.report b/tests/testresources/refs/old_ref_cp/example_9.report similarity index 100% rename from tests/refs/old_ref_cp/example_9.report rename to tests/testresources/refs/old_ref_cp/example_9.report diff --git a/tests/refs/old_ref_cp/example_9.xyz b/tests/testresources/refs/old_ref_cp/example_9.xyz similarity index 100% rename from tests/refs/old_ref_cp/example_9.xyz rename to tests/testresources/refs/old_ref_cp/example_9.xyz diff --git a/tests/refs/old_ref_cp/molcas_caspt2.qcin b/tests/testresources/refs/old_ref_cp/molcas_caspt2.qcin similarity index 100% rename from tests/refs/old_ref_cp/molcas_caspt2.qcin rename to tests/testresources/refs/old_ref_cp/molcas_caspt2.qcin diff --git a/tests/refs/old_ref_cp/molcas_caspt2.report b/tests/testresources/refs/old_ref_cp/molcas_caspt2.report similarity index 100% rename from tests/refs/old_ref_cp/molcas_caspt2.report rename to tests/testresources/refs/old_ref_cp/molcas_caspt2.report diff --git a/tests/refs/old_ref_cp/molcas_caspt2.xyz b/tests/testresources/refs/old_ref_cp/molcas_caspt2.xyz similarity index 100% rename from tests/refs/old_ref_cp/molcas_caspt2.xyz rename to tests/testresources/refs/old_ref_cp/molcas_caspt2.xyz diff --git a/tests/refs/old_ref_cp/molcas_casscf.qcin b/tests/testresources/refs/old_ref_cp/molcas_casscf.qcin similarity index 100% rename from tests/refs/old_ref_cp/molcas_casscf.qcin rename to tests/testresources/refs/old_ref_cp/molcas_casscf.qcin diff --git a/tests/refs/old_ref_cp/molcas_casscf.report b/tests/testresources/refs/old_ref_cp/molcas_casscf.report similarity index 100% rename from tests/refs/old_ref_cp/molcas_casscf.report rename to tests/testresources/refs/old_ref_cp/molcas_casscf.report diff --git a/tests/refs/old_ref_cp/molcas_casscf.xyz b/tests/testresources/refs/old_ref_cp/molcas_casscf.xyz similarity index 100% rename from tests/refs/old_ref_cp/molcas_casscf.xyz rename to tests/testresources/refs/old_ref_cp/molcas_casscf.xyz diff --git a/tests/refs/old_ref_cp/orca_ccsdt.qcin b/tests/testresources/refs/old_ref_cp/orca_ccsdt.qcin similarity index 100% rename from tests/refs/old_ref_cp/orca_ccsdt.qcin rename to tests/testresources/refs/old_ref_cp/orca_ccsdt.qcin diff --git a/tests/refs/old_ref_cp/orca_ccsdt.report b/tests/testresources/refs/old_ref_cp/orca_ccsdt.report similarity index 100% rename from tests/refs/old_ref_cp/orca_ccsdt.report rename to tests/testresources/refs/old_ref_cp/orca_ccsdt.report diff --git a/tests/refs/old_ref_cp/orca_ccsdt.xyz b/tests/testresources/refs/old_ref_cp/orca_ccsdt.xyz similarity index 100% rename from tests/refs/old_ref_cp/orca_ccsdt.xyz rename to tests/testresources/refs/old_ref_cp/orca_ccsdt.xyz diff --git a/tests/refs/old_ref_cp/orca_dft.qcin b/tests/testresources/refs/old_ref_cp/orca_dft.qcin similarity index 100% rename from tests/refs/old_ref_cp/orca_dft.qcin rename to tests/testresources/refs/old_ref_cp/orca_dft.qcin diff --git a/tests/refs/old_ref_cp/orca_dft.report b/tests/testresources/refs/old_ref_cp/orca_dft.report similarity index 100% rename from tests/refs/old_ref_cp/orca_dft.report rename to tests/testresources/refs/old_ref_cp/orca_dft.report diff --git a/tests/refs/old_ref_cp/orca_dft.xyz b/tests/testresources/refs/old_ref_cp/orca_dft.xyz similarity index 100% rename from tests/refs/old_ref_cp/orca_dft.xyz rename to tests/testresources/refs/old_ref_cp/orca_dft.xyz diff --git a/tests/refs/orca_ccsdt.qcin b/tests/testresources/refs/orca_ccsdt.qcin similarity index 100% rename from tests/refs/orca_ccsdt.qcin rename to tests/testresources/refs/orca_ccsdt.qcin diff --git a/tests/refs/orca_ccsdt.report b/tests/testresources/refs/orca_ccsdt.report similarity index 100% rename from tests/refs/orca_ccsdt.report rename to tests/testresources/refs/orca_ccsdt.report diff --git a/tests/refs/orca_ccsdt.xyz b/tests/testresources/refs/orca_ccsdt.xyz similarity index 100% rename from tests/refs/orca_ccsdt.xyz rename to tests/testresources/refs/orca_ccsdt.xyz diff --git a/tests/refs/orca_dft.qcin b/tests/testresources/refs/orca_dft.qcin similarity index 100% rename from tests/refs/orca_dft.qcin rename to tests/testresources/refs/orca_dft.qcin diff --git a/tests/refs/orca_dft.report b/tests/testresources/refs/orca_dft.report similarity index 100% rename from tests/refs/orca_dft.report rename to tests/testresources/refs/orca_dft.report diff --git a/tests/refs/orca_dft.xyz b/tests/testresources/refs/orca_dft.xyz similarity index 100% rename from tests/refs/orca_dft.xyz rename to tests/testresources/refs/orca_dft.xyz diff --git a/tests/refs/qcgen/gamgen/FeH2O6/B3LYP/gam.inp b/tests/testresources/refs/qcgen/gamgen/FeH2O6/B3LYP/gam.inp similarity index 100% rename from tests/refs/qcgen/gamgen/FeH2O6/B3LYP/gam.inp rename to tests/testresources/refs/qcgen/gamgen/FeH2O6/B3LYP/gam.inp diff --git a/tests/refs/qcgen/mlpgen/FeH2O6.mop b/tests/testresources/refs/qcgen/mlpgen/FeH2O6.mop similarity index 100% rename from tests/refs/qcgen/mlpgen/FeH2O6.mop rename to tests/testresources/refs/qcgen/mlpgen/FeH2O6.mop diff --git a/tests/refs/qcgen/molcgen/molcas.input b/tests/testresources/refs/qcgen/molcgen/molcas.input similarity index 100% rename from tests/refs/qcgen/molcgen/molcas.input rename to tests/testresources/refs/qcgen/molcgen/molcas.input diff --git a/tests/refs/qcgen/ogen/orca.in b/tests/testresources/refs/qcgen/ogen/orca.in similarity index 100% rename from tests/refs/qcgen/ogen/orca.in rename to tests/testresources/refs/qcgen/ogen/orca.in diff --git a/tests/refs/qcgen/qgen/FeH2O6/B3LYP/qch.inp b/tests/testresources/refs/qcgen/qgen/FeH2O6/B3LYP/qch.inp similarity index 100% rename from tests/refs/qcgen/qgen/FeH2O6/B3LYP/qch.inp rename to tests/testresources/refs/qcgen/qgen/FeH2O6/B3LYP/qch.inp diff --git a/tests/refs/qcgen/tcgen/terachem_input b/tests/testresources/refs/qcgen/tcgen/terachem_input similarity index 100% rename from tests/refs/qcgen/tcgen/terachem_input rename to tests/testresources/refs/qcgen/tcgen/terachem_input diff --git a/tests/refs/racs/co_acac_en_water_hydrogensulfide.xyz b/tests/testresources/refs/racs/co_acac_en_water_hydrogensulfide.xyz similarity index 100% rename from tests/refs/racs/co_acac_en_water_hydrogensulfide.xyz rename to tests/testresources/refs/racs/co_acac_en_water_hydrogensulfide.xyz diff --git a/tests/refs/racs/cr_acac_acac_bipy.xyz b/tests/testresources/refs/racs/cr_acac_acac_bipy.xyz similarity index 100% rename from tests/refs/racs/cr_acac_acac_bipy.xyz rename to tests/testresources/refs/racs/cr_acac_acac_bipy.xyz diff --git a/tests/refs/racs/fe_bipy_2_bifuran.xyz b/tests/testresources/refs/racs/fe_bipy_2_bifuran.xyz similarity index 100% rename from tests/refs/racs/fe_bipy_2_bifuran.xyz rename to tests/testresources/refs/racs/fe_bipy_2_bifuran.xyz diff --git a/tests/refs/racs/fe_bipy_3.xyz b/tests/testresources/refs/racs/fe_bipy_3.xyz similarity index 100% rename from tests/refs/racs/fe_bipy_3.xyz rename to tests/testresources/refs/racs/fe_bipy_3.xyz diff --git a/tests/refs/racs/fe_carbonyl_6.xyz b/tests/testresources/refs/racs/fe_carbonyl_6.xyz similarity index 100% rename from tests/refs/racs/fe_carbonyl_6.xyz rename to tests/testresources/refs/racs/fe_carbonyl_6.xyz diff --git a/tests/refs/racs/fe_pyr_4_furan_2.xyz b/tests/testresources/refs/racs/fe_pyr_4_furan_2.xyz similarity index 100% rename from tests/refs/racs/fe_pyr_4_furan_2.xyz rename to tests/testresources/refs/racs/fe_pyr_4_furan_2.xyz diff --git a/tests/refs/racs/fe_pyr_6.xyz b/tests/testresources/refs/racs/fe_pyr_6.xyz similarity index 100% rename from tests/refs/racs/fe_pyr_6.xyz rename to tests/testresources/refs/racs/fe_pyr_6.xyz diff --git a/tests/refs/racs/generate_references.py b/tests/testresources/refs/racs/generate_references.py similarity index 100% rename from tests/refs/racs/generate_references.py rename to tests/testresources/refs/racs/generate_references.py diff --git a/tests/refs/racs/mn_furan_water_ammonia_furan_water_ammonia.xyz b/tests/testresources/refs/racs/mn_furan_water_ammonia_furan_water_ammonia.xyz similarity index 100% rename from tests/refs/racs/mn_furan_water_ammonia_furan_water_ammonia.xyz rename to tests/testresources/refs/racs/mn_furan_water_ammonia_furan_water_ammonia.xyz diff --git a/tests/refs/racs/racs_Co_acac_en_water_hydrogensulfide.pickle b/tests/testresources/refs/racs/racs_Co_acac_en_water_hydrogensulfide.pickle similarity index 100% rename from tests/refs/racs/racs_Co_acac_en_water_hydrogensulfide.pickle rename to tests/testresources/refs/racs/racs_Co_acac_en_water_hydrogensulfide.pickle diff --git a/tests/refs/racs/racs_Cr_acac_acac_bipy.pickle b/tests/testresources/refs/racs/racs_Cr_acac_acac_bipy.pickle similarity index 100% rename from tests/refs/racs/racs_Cr_acac_acac_bipy.pickle rename to tests/testresources/refs/racs/racs_Cr_acac_acac_bipy.pickle diff --git a/tests/refs/racs/racs_Fe_carbonyl_6.pickle b/tests/testresources/refs/racs/racs_Fe_carbonyl_6.pickle similarity index 100% rename from tests/refs/racs/racs_Fe_carbonyl_6.pickle rename to tests/testresources/refs/racs/racs_Fe_carbonyl_6.pickle diff --git a/tests/refs/racs/racs_Mn_furan_water_ammonia_furan_water_ammonia.pickle b/tests/testresources/refs/racs/racs_Mn_furan_water_ammonia_furan_water_ammonia.pickle similarity index 100% rename from tests/refs/racs/racs_Mn_furan_water_ammonia_furan_water_ammonia.pickle rename to tests/testresources/refs/racs/racs_Mn_furan_water_ammonia_furan_water_ammonia.pickle diff --git a/tests/refs/ref_new/example_1.report b/tests/testresources/refs/ref_new/example_1.report similarity index 100% rename from tests/refs/ref_new/example_1.report rename to tests/testresources/refs/ref_new/example_1.report diff --git a/tests/refs/ref_new/example_1.xyz b/tests/testresources/refs/ref_new/example_1.xyz similarity index 100% rename from tests/refs/ref_new/example_1.xyz rename to tests/testresources/refs/ref_new/example_1.xyz diff --git a/tests/refs/ref_new/example_1_noff.report b/tests/testresources/refs/ref_new/example_1_noff.report similarity index 100% rename from tests/refs/ref_new/example_1_noff.report rename to tests/testresources/refs/ref_new/example_1_noff.report diff --git a/tests/refs/ref_new/example_1_noff.xyz b/tests/testresources/refs/ref_new/example_1_noff.xyz similarity index 100% rename from tests/refs/ref_new/example_1_noff.xyz rename to tests/testresources/refs/ref_new/example_1_noff.xyz diff --git a/tests/refs/ref_new/example_3.report b/tests/testresources/refs/ref_new/example_3.report similarity index 100% rename from tests/refs/ref_new/example_3.report rename to tests/testresources/refs/ref_new/example_3.report diff --git a/tests/refs/ref_new/example_3.xyz b/tests/testresources/refs/ref_new/example_3.xyz similarity index 100% rename from tests/refs/ref_new/example_3.xyz rename to tests/testresources/refs/ref_new/example_3.xyz diff --git a/tests/refs/ref_new/example_3_noff.report b/tests/testresources/refs/ref_new/example_3_noff.report similarity index 100% rename from tests/refs/ref_new/example_3_noff.report rename to tests/testresources/refs/ref_new/example_3_noff.report diff --git a/tests/refs/ref_new/example_3_noff.xyz b/tests/testresources/refs/ref_new/example_3_noff.xyz similarity index 100% rename from tests/refs/ref_new/example_3_noff.xyz rename to tests/testresources/refs/ref_new/example_3_noff.xyz diff --git a/tests/refs/ref_new/example_5.report b/tests/testresources/refs/ref_new/example_5.report similarity index 100% rename from tests/refs/ref_new/example_5.report rename to tests/testresources/refs/ref_new/example_5.report diff --git a/tests/refs/ref_new/example_5.xyz b/tests/testresources/refs/ref_new/example_5.xyz similarity index 100% rename from tests/refs/ref_new/example_5.xyz rename to tests/testresources/refs/ref_new/example_5.xyz diff --git a/tests/refs/ref_new/example_7.report b/tests/testresources/refs/ref_new/example_7.report similarity index 100% rename from tests/refs/ref_new/example_7.report rename to tests/testresources/refs/ref_new/example_7.report diff --git a/tests/refs/ref_new/example_7.xyz b/tests/testresources/refs/ref_new/example_7.xyz similarity index 100% rename from tests/refs/ref_new/example_7.xyz rename to tests/testresources/refs/ref_new/example_7.xyz diff --git a/tests/refs/ref_new/example_8.report b/tests/testresources/refs/ref_new/example_8.report similarity index 100% rename from tests/refs/ref_new/example_8.report rename to tests/testresources/refs/ref_new/example_8.report diff --git a/tests/refs/ref_new/example_8.xyz b/tests/testresources/refs/ref_new/example_8.xyz similarity index 100% rename from tests/refs/ref_new/example_8.xyz rename to tests/testresources/refs/ref_new/example_8.xyz diff --git a/tests/refs/ref_new/molcas_caspt2.qcin b/tests/testresources/refs/ref_new/molcas_caspt2.qcin similarity index 100% rename from tests/refs/ref_new/molcas_caspt2.qcin rename to tests/testresources/refs/ref_new/molcas_caspt2.qcin diff --git a/tests/refs/ref_new/molcas_caspt2.report b/tests/testresources/refs/ref_new/molcas_caspt2.report similarity index 100% rename from tests/refs/ref_new/molcas_caspt2.report rename to tests/testresources/refs/ref_new/molcas_caspt2.report diff --git a/tests/refs/ref_new/molcas_caspt2.xyz b/tests/testresources/refs/ref_new/molcas_caspt2.xyz similarity index 100% rename from tests/refs/ref_new/molcas_caspt2.xyz rename to tests/testresources/refs/ref_new/molcas_caspt2.xyz diff --git a/tests/refs/ref_new/molcas_casscf.qcin b/tests/testresources/refs/ref_new/molcas_casscf.qcin similarity index 100% rename from tests/refs/ref_new/molcas_casscf.qcin rename to tests/testresources/refs/ref_new/molcas_casscf.qcin diff --git a/tests/refs/ref_new/molcas_casscf.report b/tests/testresources/refs/ref_new/molcas_casscf.report similarity index 100% rename from tests/refs/ref_new/molcas_casscf.report rename to tests/testresources/refs/ref_new/molcas_casscf.report diff --git a/tests/refs/ref_new/molcas_casscf.xyz b/tests/testresources/refs/ref_new/molcas_casscf.xyz similarity index 100% rename from tests/refs/ref_new/molcas_casscf.xyz rename to tests/testresources/refs/ref_new/molcas_casscf.xyz diff --git a/tests/refs/ref_new/orca_ccsdt.qcin b/tests/testresources/refs/ref_new/orca_ccsdt.qcin similarity index 100% rename from tests/refs/ref_new/orca_ccsdt.qcin rename to tests/testresources/refs/ref_new/orca_ccsdt.qcin diff --git a/tests/refs/ref_new/orca_ccsdt.report b/tests/testresources/refs/ref_new/orca_ccsdt.report similarity index 100% rename from tests/refs/ref_new/orca_ccsdt.report rename to tests/testresources/refs/ref_new/orca_ccsdt.report diff --git a/tests/refs/ref_new/orca_ccsdt.xyz b/tests/testresources/refs/ref_new/orca_ccsdt.xyz similarity index 100% rename from tests/refs/ref_new/orca_ccsdt.xyz rename to tests/testresources/refs/ref_new/orca_ccsdt.xyz diff --git a/tests/refs/ref_new/orca_dft.qcin b/tests/testresources/refs/ref_new/orca_dft.qcin similarity index 100% rename from tests/refs/ref_new/orca_dft.qcin rename to tests/testresources/refs/ref_new/orca_dft.qcin diff --git a/tests/refs/ref_new/orca_dft.report b/tests/testresources/refs/ref_new/orca_dft.report similarity index 100% rename from tests/refs/ref_new/orca_dft.report rename to tests/testresources/refs/ref_new/orca_dft.report diff --git a/tests/refs/ref_new/orca_dft.xyz b/tests/testresources/refs/ref_new/orca_dft.xyz similarity index 100% rename from tests/refs/ref_new/orca_dft.xyz rename to tests/testresources/refs/ref_new/orca_dft.xyz diff --git a/tests/refs/tetrahedral_1_noff.report b/tests/testresources/refs/tetrahedral_1_noff.report similarity index 100% rename from tests/refs/tetrahedral_1_noff.report rename to tests/testresources/refs/tetrahedral_1_noff.report diff --git a/tests/refs/tetrahedral_1_noff.xyz b/tests/testresources/refs/tetrahedral_1_noff.xyz similarity index 100% rename from tests/refs/tetrahedral_1_noff.xyz rename to tests/testresources/refs/tetrahedral_1_noff.xyz diff --git a/tests/refs/tetrahedral_2_noff.report b/tests/testresources/refs/tetrahedral_2_noff.report similarity index 100% rename from tests/refs/tetrahedral_2_noff.report rename to tests/testresources/refs/tetrahedral_2_noff.report diff --git a/tests/refs/tetrahedral_2_noff.xyz b/tests/testresources/refs/tetrahedral_2_noff.xyz similarity index 100% rename from tests/refs/tetrahedral_2_noff.xyz rename to tests/testresources/refs/tetrahedral_2_noff.xyz diff --git a/tests/refs/tutorial_09_part_one.report b/tests/testresources/refs/tutorial_09_part_one.report similarity index 100% rename from tests/refs/tutorial_09_part_one.report rename to tests/testresources/refs/tutorial_09_part_one.report diff --git a/tests/refs/tutorial_09_part_one.xyz b/tests/testresources/refs/tutorial_09_part_one.xyz similarity index 100% rename from tests/refs/tutorial_09_part_one.xyz rename to tests/testresources/refs/tutorial_09_part_one.xyz diff --git a/tests/refs/tutorial_09_part_two.report b/tests/testresources/refs/tutorial_09_part_two.report similarity index 100% rename from tests/refs/tutorial_09_part_two.report rename to tests/testresources/refs/tutorial_09_part_two.report diff --git a/tests/refs/tutorial_09_part_two.xyz b/tests/testresources/refs/tutorial_09_part_two.xyz similarity index 100% rename from tests/refs/tutorial_09_part_two.xyz rename to tests/testresources/refs/tutorial_09_part_two.xyz diff --git a/tests/refs/tutorial_10_part_one.report b/tests/testresources/refs/tutorial_10_part_one.report similarity index 100% rename from tests/refs/tutorial_10_part_one.report rename to tests/testresources/refs/tutorial_10_part_one.report diff --git a/tests/refs/tutorial_10_part_one.xyz b/tests/testresources/refs/tutorial_10_part_one.xyz similarity index 100% rename from tests/refs/tutorial_10_part_one.xyz rename to tests/testresources/refs/tutorial_10_part_one.xyz diff --git a/tests/refs/tutorial_10_part_two.report b/tests/testresources/refs/tutorial_10_part_two.report similarity index 100% rename from tests/refs/tutorial_10_part_two.report rename to tests/testresources/refs/tutorial_10_part_two.report diff --git a/tests/refs/tutorial_10_part_two.xyz b/tests/testresources/refs/tutorial_10_part_two.xyz similarity index 100% rename from tests/refs/tutorial_10_part_two.xyz rename to tests/testresources/refs/tutorial_10_part_two.xyz diff --git a/tests/refs/tutorial_2.xyz b/tests/testresources/refs/tutorial_2.xyz similarity index 100% rename from tests/refs/tutorial_2.xyz rename to tests/testresources/refs/tutorial_2.xyz diff --git a/tests/refs/tutorial_3.report b/tests/testresources/refs/tutorial_3.report similarity index 100% rename from tests/refs/tutorial_3.report rename to tests/testresources/refs/tutorial_3.report diff --git a/tests/refs/tutorial_3.xyz b/tests/testresources/refs/tutorial_3.xyz similarity index 100% rename from tests/refs/tutorial_3.xyz rename to tests/testresources/refs/tutorial_3.xyz diff --git a/tests/refs/tutorial_6.xyz b/tests/testresources/refs/tutorial_6.xyz similarity index 100% rename from tests/refs/tutorial_6.xyz rename to tests/testresources/refs/tutorial_6.xyz diff --git a/tests/refs/tutorial_8_part_one.report b/tests/testresources/refs/tutorial_8_part_one.report similarity index 100% rename from tests/refs/tutorial_8_part_one.report rename to tests/testresources/refs/tutorial_8_part_one.report diff --git a/tests/refs/tutorial_8_part_one.xyz b/tests/testresources/refs/tutorial_8_part_one.xyz similarity index 100% rename from tests/refs/tutorial_8_part_one.xyz rename to tests/testresources/refs/tutorial_8_part_one.xyz diff --git a/tests/refs/tutorial_8_part_two.report b/tests/testresources/refs/tutorial_8_part_two.report similarity index 100% rename from tests/refs/tutorial_8_part_two.report rename to tests/testresources/refs/tutorial_8_part_two.report diff --git a/tests/refs/tutorial_8_part_two.xyz b/tests/testresources/refs/tutorial_8_part_two.xyz similarity index 100% rename from tests/refs/tutorial_8_part_two.xyz rename to tests/testresources/refs/tutorial_8_part_two.xyz diff --git a/tests/refs/tutorial_qm9_part_one.xyz b/tests/testresources/refs/tutorial_qm9_part_one.xyz similarity index 100% rename from tests/refs/tutorial_qm9_part_one.xyz rename to tests/testresources/refs/tutorial_qm9_part_one.xyz diff --git a/tests/refs/xtb_ANC_fail.report b/tests/testresources/refs/xtb_ANC_fail.report similarity index 100% rename from tests/refs/xtb_ANC_fail.report rename to tests/testresources/refs/xtb_ANC_fail.report diff --git a/tests/refs/xtb_ANC_fail.xyz b/tests/testresources/refs/xtb_ANC_fail.xyz similarity index 100% rename from tests/refs/xtb_ANC_fail.xyz rename to tests/testresources/refs/xtb_ANC_fail.xyz diff --git a/tests/refs/xtb_H2O_before.report b/tests/testresources/refs/xtb_H2O_before.report similarity index 100% rename from tests/refs/xtb_H2O_before.report rename to tests/testresources/refs/xtb_H2O_before.report diff --git a/tests/refs/xtb_H2O_before.xyz b/tests/testresources/refs/xtb_H2O_before.xyz similarity index 100% rename from tests/refs/xtb_H2O_before.xyz rename to tests/testresources/refs/xtb_H2O_before.xyz diff --git a/tests/refs/xtb_bipy_spin5.report b/tests/testresources/refs/xtb_bipy_spin5.report similarity index 100% rename from tests/refs/xtb_bipy_spin5.report rename to tests/testresources/refs/xtb_bipy_spin5.report diff --git a/tests/refs/xtb_bipy_spin5.xyz b/tests/testresources/refs/xtb_bipy_spin5.xyz similarity index 100% rename from tests/refs/xtb_bipy_spin5.xyz rename to tests/testresources/refs/xtb_bipy_spin5.xyz diff --git a/tests/refs/xtb_final_opt.report b/tests/testresources/refs/xtb_final_opt.report similarity index 100% rename from tests/refs/xtb_final_opt.report rename to tests/testresources/refs/xtb_final_opt.report diff --git a/tests/refs/xtb_final_opt.xyz b/tests/testresources/refs/xtb_final_opt.xyz similarity index 100% rename from tests/refs/xtb_final_opt.xyz rename to tests/testresources/refs/xtb_final_opt.xyz diff --git a/tests/refs/xtb_imidazole_BA.report b/tests/testresources/refs/xtb_imidazole_BA.report similarity index 100% rename from tests/refs/xtb_imidazole_BA.report rename to tests/testresources/refs/xtb_imidazole_BA.report diff --git a/tests/refs/xtb_imidazole_BA.xyz b/tests/testresources/refs/xtb_imidazole_BA.xyz similarity index 100% rename from tests/refs/xtb_imidazole_BA.xyz rename to tests/testresources/refs/xtb_imidazole_BA.xyz