def test_list_methods(self): atoms1 = StructureAtoms() for Z in range(100, 0, -1): atoms1.append(StructureAtom(Z=Z)) atoms1.sort(key=lambda a: a.Z) atoms2 = StructureAtoms() for Z in range(1, 101): atoms2.append(StructureAtom(Z=Z)) assert_equal(atoms1, atoms2)
def generate_atoms(*args, elements=None, generator_class=None, **kwargs): """Helper function to generate sequence of atoms for testing purposes.""" atoms = None if elements is not None: if isinstance(elements, str) and elements == 'periodic_table': elements = periodic_table_of_elements if isinstance(elements, list): atoms = Atoms() for e in elements: atoms.append(Atom(e)) elif generator_class is not None and \ generator_class in STRUCTURE_GENERATORS: try: atoms = generate_structure(*args, generator_class=generator_class, **kwargs).atoms except AttributeError as e: print(e) return atoms
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._atoms = StructureAtoms() self._crystal_cell = CrystalCell()