def METHOD_NAME(self):
    struct = Structure.from_file(filename=f"{TEST_FILES_DIR}/garnet.cif")
    spga = SpacegroupAnalyzer(struct, 0.1)
    prim = spga.find_primitive()
    struct = prim.copy()
    struct["Al3+"] = {"Al3+": 0.5, "Ga3+": 0.5}
    adaptor = EnumlibAdaptor(struct, 1, 1, enum_precision_parameter=0.01)
    adaptor.run()
    structures = adaptor.structures
    assert len(structures) == 7
    for struct in structures:
        assert struct.formula == "Ca12 Al4 Ga4 Si12 O48"
    struct = prim.copy()
    struct["Ca2+"] = {"Ca2+": 1 / 3, "Mg2+": 2 / 3}
    adaptor = EnumlibAdaptor(struct, 1, 1, enum_precision_parameter=0.01)
    adaptor.run()
    structures = adaptor.structures
    assert len(structures) == 20
    for struct in structures:
        assert struct.formula == "Ca4 Mg8 Al8 Si12 O48"
    struct = prim.copy()
    struct["Si4+"] = {"Si4+": 1 / 3, "Ge4+": 2 / 3}
    adaptor = EnumlibAdaptor(struct, 1, 1, enum_precision_parameter=0.01)
    adaptor.run()
    structures = adaptor.structures
    assert len(structures) == 18
    for struct in structures:
        assert struct.formula == "Ca12 Al8 Si4 Ge8 O48"