1+ import pytest
2+ from pydantic import ValidationError
3+
14from pals import (
25 ApertureParameters ,
36 BeamBeamParameters ,
47 BendParameters ,
58 BodyShiftParameters ,
6- ElectricMultipoleParameters ,
7- # FloorParameters, # not yet tested
89 FloorShiftParameters ,
910 ForkParameters ,
1011 MagneticMultipoleParameters ,
@@ -24,6 +25,11 @@ def test_ParameterClasses():
2425 aperture = ApertureParameters (x_limits = [- 0.1 , 0.1 ], y_limits = [- 0.05 , 0.05 ])
2526 assert aperture .x_limits == [- 0.1 , 0.1 ]
2627
28+ with pytest .raises (ValidationError ):
29+ _ = ApertureParameters (
30+ x_limits = [- 0.1 , 0.1 ], y_limits = [- 0.05 , 0.05 , 0.1 ], shape = "wrong"
31+ )
32+
2733 # Test BodyShiftParameters
2834 body_shift = BodyShiftParameters (x_offset = 0.01 , y_rot = 0.02 )
2935 assert body_shift .x_offset == 0.01
@@ -32,15 +38,23 @@ def test_ParameterClasses():
3238 meta = MetaParameters (alias = "test" , description = "test element" )
3339 assert meta .alias == "test"
3440
35- # Test ElectricMultipoleParameters
36- emp = ElectricMultipoleParameters (En1 = 1.0 , Es1 = 0.5 )
37- assert emp .En1 == 1.0
41+ # Test ElectricMultipoleParameters (TODO)
42+ # emp = ElectricMultipoleParameters(En1=1.0, Es1=0.5)
43+ # assert emp.En1 == 1.0
3844
3945 # Test MagneticMultipoleParameters
4046 mmp = MagneticMultipoleParameters (Bn1 = 1.0 , Bs1 = 0.5 )
4147 assert mmp .Bn1 == 1.0
4248 assert mmp .Bs1 == 0.5
4349
50+ # catch typos
51+ with pytest .raises (ValidationError ):
52+ _ = MagneticMultipoleParameters (Bm1 = 1.0 , Bs1 = 0.5 )
53+ with pytest .raises (ValidationError ):
54+ _ = MagneticMultipoleParameters (Bn1 = 1.0 , Bv1 = 0.5 )
55+ with pytest .raises (ValidationError ):
56+ _ = MagneticMultipoleParameters (Bn01 = 1.0 , Bs01 = 0.5 )
57+
4458 # Test SolenoidParameters
4559 sol = SolenoidParameters (Ksol = 0.1 , Bsol = 0.2 )
4660 assert sol .Ksol == 0.1
@@ -49,6 +63,11 @@ def test_ParameterClasses():
4963 rf = RFParameters (frequency = 1e9 , voltage = 1e6 )
5064 assert rf .frequency == 1e9
5165
66+ with pytest .raises (ValidationError ):
67+ _ = RFParameters (frequency = 1e9 , voltage = 1e6 , n_cell = 0 )
68+ with pytest .raises (ValidationError ):
69+ _ = RFParameters (frequency = 1e9 , voltage = 1e6 , n_cell = - 1 )
70+
5271 # Test BendParameters
5372 bend = BendParameters (rho_ref = 1.0 , bend_field_ref = 2.0 )
5473 assert bend .rho_ref == 1.0
0 commit comments