Skip to content

Commit 8d86029

Browse files
committed
Improve unit test for quadrupole element
1 parent 000cb2d commit 8d86029

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

schema/MagneticMultipoleParameters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def validate(cls, values: Dict[str, Any]) -> Dict[str, Any]:
5555
msg = " ".join(
5656
[
5757
f"Invalid magnetic multipole parameter: '{key}'.",
58-
"Magnetic multipole parameters must be of the form 'tiltN', 'BnN', or 'BsN'.",
58+
"Magnetic multipole parameters must be of the form 'tiltN', 'BnN', or 'BsN', where 'N' is an integer.",
5959
]
6060
)
6161
raise ValueError(msg)

tests/test_schema.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,23 @@ def test_DriftElement():
6565
assert not passed
6666

6767

68-
# TODO
6968
def test_QuadrupoleElement():
7069
# Create one drift element with custom name and length
7170
element_name = "quadrupole_element"
7271
element_length = 1.0
72+
element_magnetic_multipole_Bn1 = 1.1
73+
element_magnetic_multipole_Bn2 = 1.2
74+
element_magnetic_multipole_Bs1 = 2.1
75+
element_magnetic_multipole_Bs2 = 2.2
76+
element_magnetic_multipole_tilt1 = 3.1
77+
element_magnetic_multipole_tilt2 = 3.2
7378
element_magnetic_multipole = MagneticMultipoleParameters(
74-
Bn1=1.1,
75-
Bs1=2.2,
76-
tilt1=3.3,
79+
Bn1=element_magnetic_multipole_Bn1,
80+
Bs1=element_magnetic_multipole_Bs1,
81+
tilt1=element_magnetic_multipole_tilt1,
82+
Bn2=element_magnetic_multipole_Bn2,
83+
Bs2=element_magnetic_multipole_Bs2,
84+
tilt2=element_magnetic_multipole_tilt2,
7785
)
7886
element = QuadrupoleElement(
7987
name=element_name,
@@ -82,6 +90,12 @@ def test_QuadrupoleElement():
8290
)
8391
assert element.name == element_name
8492
assert element.Length == element_length
93+
assert element.MagneticMultipoleP.Bn1 == element_magnetic_multipole_Bn1
94+
assert element.MagneticMultipoleP.Bs1 == element_magnetic_multipole_Bs1
95+
assert element.MagneticMultipoleP.tilt1 == element_magnetic_multipole_tilt1
96+
assert element.MagneticMultipoleP.Bn2 == element_magnetic_multipole_Bn2
97+
assert element.MagneticMultipoleP.Bs2 == element_magnetic_multipole_Bs2
98+
assert element.MagneticMultipoleP.tilt2 == element_magnetic_multipole_tilt2
8599
# Serialize the Line object to YAML
86100
yaml_data = yaml.dump(element.model_dump(), default_flow_style=False)
87101
print(f"\n{yaml_data}")

0 commit comments

Comments
 (0)