def test_mopac_3(configuration):
    check_symbols = [
        "Cu",
        "Cu",
        "Cu",
        "Cu",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
        "Br",
    ]
    check_smiles = "Br[Cu]([Cu][Cu](Br)(Br)(Br)Br)(Br)Br.Br[Cu](Br)Br"
    file_name = build_filenames.build_data_filename("Cu(II)4Br10(2-) (CIVNAW10).mop")
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
def test_mopac_6(configuration):
    check_symbols = ["F", "K", "F", "K"]
    check_smiles = "F[K].F[K]"
    file_name = build_filenames.build_data_filename("potassium fluoride, dimer.mop")
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
def test_mopac_2(configuration):
    check_symbols = ["Li", "F", "Li", "F", "Li", "F"]
    check_smiles = "[Li]F.[Li]F.[Li]F"
    file_name = build_filenames.build_data_filename("lithium fluoride, trimer.mop")
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
예제 #4
0
def test_extensions(configuration, file_name, extension):

    xyz_file = build_filenames.build_data_filename(file_name)
    read_structure_step.read(xyz_file, configuration, extension=extension)

    assert configuration.n_atoms == 3
    assert all(atom in ["O", "H", "H"] for atom in configuration.atoms.symbols)

    coordinates = configuration.atoms.coordinates
    assert len(coordinates) == 3
    assert all(len(point) == 3 for point in coordinates)

    assert configuration.bonds.n_bonds == 2
    if str(configuration.bonds) != bond_string:
        print(configuration.bonds)
    assert str(configuration.bonds) == bond_string
def test_mopac(configuration):

    file_name = build_filenames.build_data_filename("acetonitrile.mop")
    read_structure_step.read(file_name, configuration)

    assert configuration.n_atoms == 6
    assert all(
        atom in ["H", "H", "H", "C", "C", "N"] for atom in configuration.atoms.symbols
    )
    coordinates = configuration.atoms.coordinates
    assert len(coordinates) == 6
    assert all(len(point) == 3 for point in coordinates)
    assert configuration.bonds.n_bonds == 5
    if str(configuration.bonds) != acetonitrile_bonds:
        print(configuration.bonds)
    assert str(configuration.bonds) == acetonitrile_bonds
def test_mopac_8(configuration):
    check_symbols = [
        "C",
        "H",
    ]
    check_smiles = "[CH]"
    file_name = build_filenames.build_data_filename("methylidyne.mop")
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
def test_format(configuration, structure):

    file_name = build_filenames.build_data_filename(structure)
    read_structure_step.read(file_name, configuration)

    assert configuration.n_atoms == 10
    assert all(
        atom in ["N", "N", "N", "N", "C", "C", "H", "H", "H", "H"]
        for atom in configuration.atoms.symbols
    )
    coordinates = configuration.atoms.coordinates
    assert len(coordinates) == 10
    assert all(len(point) == 3 for point in coordinates)
    assert configuration.bonds.n_bonds == 10
    if "xyz" in structure:
        if str(configuration.bonds) != xyz_bond_string:
            print(configuration.bonds)
        assert str(configuration.bonds) == xyz_bond_string
    else:
        if str(configuration.bonds) != bond_string:
            print(configuration.bonds)
        assert str(configuration.bonds) == bond_string
예제 #8
0
def test_sanitize_file_format_regex_validation(configuration):

    with pytest.raises(NameError):
        read_structure_step.read("spc.xyz", configuration, extension=".xy-z")
def test_mopac_7(configuration):
    check_symbols = [
        "Cr",
        "O",
        "O",
        "O",
        "O",
        "O",
        "O",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "Cr",
        "C",
        "C",
        "O",
        "O",
        "O",
        "O",
        "O",
        "C",
        "C",
        "C",
        "O",
        "C",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
    ]
    check_smiles = "C[C](O[Cr]12(OC(=O)C)O[C](O[Cr]2(O[C](O)C)(OC(=O)C)O[C](O1)C)C)O"
    file_name = build_filenames.build_data_filename("Cr_ACETCR.mop")
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
def test_mopac_4(configuration):
    check_symbols = [
        "Eu",
        "N",
        "N",
        "N",
        "N",
        "N",
        "N",
        "O",
        "O",
        "O",
        "O",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "C",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
        "H",
    ]
    check_smiles = (
        r"C[C]1c2cccc(n2)/C(=N/CC[N@]2[Eu]34([N@@]1CC/N=C(\C)/c1nc([C]2C)ccc1)"
        r"(O[C](O3)C)O[C](O4)C)/C"
    )
    file_name = build_filenames.build_data_filename(
        "RM1 63 Europium, CCDC entry LAPJAN.mop"
    )
    read_structure_step.read(file_name, configuration)

    if configuration.atoms.symbols != check_symbols:
        print(configuration.atoms.symbols)
    smiles = configuration.canonical_smiles
    if smiles != check_smiles:
        print(smiles)

    assert configuration.atoms.symbols == check_symbols
    assert smiles == check_smiles
예제 #11
0
def test_unregistered_reader(configuration):

    with pytest.raises(KeyError):

        xyz_file = build_filenames.build_data_filename("spc.xyz")
        read_structure_step.read(xyz_file, configuration, extension=".mp3")
예제 #12
0
def test_empty_filename(configuration):

    with pytest.raises(NameError):
        read_structure_step.read("", configuration)
예제 #13
0
def test_read_filename_type(configuration, file_name):

    with pytest.raises(TypeError):
        read_structure_step.read(file_name, configuration)