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 ,
@@ -32,15 +33,23 @@ def test_ParameterClasses():
3233 meta = MetaParameters (alias = "test" , description = "test element" )
3334 assert meta .alias == "test"
3435
35- # Test ElectricMultipoleParameters
36- emp = ElectricMultipoleParameters (En1 = 1.0 , Es1 = 0.5 )
37- assert emp .En1 == 1.0
36+ # Test ElectricMultipoleParameters (TODO)
37+ # emp = ElectricMultipoleParameters(En1=1.0, Es1=0.5)
38+ # assert emp.En1 == 1.0
3839
3940 # Test MagneticMultipoleParameters
4041 mmp = MagneticMultipoleParameters (Bn1 = 1.0 , Bs1 = 0.5 )
4142 assert mmp .Bn1 == 1.0
4243 assert mmp .Bs1 == 0.5
4344
45+ # catch typos
46+ with pytest .raises (ValidationError ):
47+ _ = MagneticMultipoleParameters (Bm1 = 1.0 , Bs1 = 0.5 )
48+ with pytest .raises (ValidationError ):
49+ _ = MagneticMultipoleParameters (Bn1 = 1.0 , Bv1 = 0.5 )
50+ with pytest .raises (ValidationError ):
51+ _ = MagneticMultipoleParameters (Bn01 = 1.0 , Bs01 = 0.5 )
52+
4453 # Test SolenoidParameters
4554 sol = SolenoidParameters (Ksol = 0.1 , Bsol = 0.2 )
4655 assert sol .Ksol == 0.1
@@ -49,6 +58,11 @@ def test_ParameterClasses():
4958 rf = RFParameters (frequency = 1e9 , voltage = 1e6 )
5059 assert rf .frequency == 1e9
5160
61+ with pytest .raises (ValidationError ):
62+ _ = RFParameters (frequency = 1e9 , voltage = 1e6 , n_cell = 0 )
63+ with pytest .raises (ValidationError ):
64+ _ = RFParameters (frequency = 1e9 , voltage = 1e6 , n_cell = - 1 )
65+
5266 # Test BendParameters
5367 bend = BendParameters (rho_ref = 1.0 , bend_field_ref = 2.0 )
5468 assert bend .rho_ref == 1.0
0 commit comments