Exemple #1
0
def test_add_element_to_family_and_case_insensitive_retrieval():
    e = Element(6.0, "QUAD", "dummy")
    e.add_to_family("FAM")
    # Lowercase only
    assert "fam" in e.families
    assert "FAM" not in e.families
    assert e.is_in_family("fam")
    assert e.is_in_family("FAM")
Exemple #2
0
def simple_element(x_device, y_device, mock_sim_data_source, unit_uc,
                   double_uc):
    # A unit conversion object that returns the same as the input.
    element = Element(0.0, "BPM", "element1")
    element.add_to_family("family")
    element.set_data_source(DeviceDataSource(), pytac.LIVE)
    element.add_device("x", x_device, unit_uc)
    element.add_device("y", y_device, double_uc)
    element.set_data_source(mock_sim_data_source, pytac.SIM)
    return element
Exemple #3
0
def test_element_representation():
    elem = Element(0.1, "BPM")
    assert str(elem) == "<Element length 0.1 m, families >"
    elem.add_to_family("fam1")
    assert str(elem) == "<Element length 0.1 m, families fam1>"
    elem.name = "bpm1"
    assert str(elem) == "<Element 'bpm1', length 0.1 m, families fam1>"
    lat = Lattice("")
    lat.add_element(elem)
    assert str(elem) == ("<Element 'bpm1', index 1, length 0.1 m, families " "fam1>")
    lat.symmetry = 2
    assert str(elem) == (
        "<Element 'bpm1', index 1, length 0.1 m, cell 1, " "families fam1>"
    )
    elem.name = None
    assert str(elem) == ("<Element index 1, length 0.1 m, cell 1, families " "fam1>")
Exemple #4
0
def test_get_family_s(simple_lattice):
    assert simple_lattice.get_family_s("family") == [0]

    element2 = Element(1.0, "family")
    element2.add_to_family("family")
    simple_lattice.add_element(element2)
    assert simple_lattice.get_family_s("family") == [0, 0]

    element3 = Element(2.5, "family")
    element3.add_to_family("family")
    simple_lattice.add_element(element3)
    assert simple_lattice.get_family_s("family") == [0, 0, 1.0]

    element4 = Element(0.0, "family")
    element4.add_to_family("family")
    simple_lattice.add_element(element4)
    assert simple_lattice.get_family_s("family") == [0, 0, 1.0, 3.5]