@@ -2990,4 +2990,70 @@ def test_variable_solenoid_x0y0(test_context):
29902990 xo .assert_allclose (tw_test_rad .py , tw_ref_rad .py , rtol = 0 , atol = 1e-14 )
29912991 xo .assert_allclose (tw_test_rad .kin_px , tw_ref_rad .kin_px , rtol = 0 , atol = 1e-14 )
29922992 xo .assert_allclose (tw_test_rad .kin_py , tw_ref_rad .kin_py , rtol = 0 , atol = 1e-14 )
2993- xo .assert_allclose (tw_test_rad .delta , tw_ref_rad .delta , rtol = 0 , atol = 1e-14 )
2993+ xo .assert_allclose (tw_test_rad .delta , tw_ref_rad .delta , rtol = 0 , atol = 1e-14 )
2994+
2995+ def test_api_rbend ():
2996+ bend1 = xt .RBend ()
2997+ bend1 .angle = 0.1
2998+ bend1 .length_straight = 1.0
2999+
3000+ bend2 = xt .RBend ()
3001+ bend2 .length_straight = 1.0
3002+ bend2 .angle = 0.1
3003+
3004+ bend3 = xt .RBend (angle = 0.1 , length_straight = 1.0 )
3005+
3006+ bend1d = xt .RBend .from_dict (bend1 .to_dict ())
3007+ bend2d = xt .RBend .from_dict (bend2 .to_dict ())
3008+ bend3d = xt .RBend .from_dict (bend3 .to_dict ())
3009+
3010+ for bb in [bend1 , bend2 , bend3 , bend1d , bend2d , bend3d ]:
3011+ assert bb .h == 0.1 / bb .length
3012+ assert bb .k0 == 'from_h'
3013+ assert bb .k0_from_h == True
3014+ assert bb .length_straight == 1.0
3015+ assert bb .length > 1.0
3016+ assert bb .angle == 0.1
3017+
3018+ bend1 .k0 = 0.2
3019+ assert bend1 .k0 == 0.2
3020+ assert bend1 .h == 0.1 / bend1 .length
3021+ assert bend1 .k0_from_h == False
3022+
3023+ bend2 .k0_from_h = False
3024+ assert bend2 .k0 == 0.
3025+ assert bend2 .h == 0.1 / bend2 .length
3026+ assert bend2 .k0_from_h == False
3027+
3028+ def test_api_bend ():
3029+
3030+ bend1 = xt .Bend ()
3031+ bend1 .angle = 0.1
3032+ bend1 .length = 1.0
3033+
3034+ bend2 = xt .Bend ()
3035+ bend2 .length = 1.0
3036+ bend2 .angle = 0.1
3037+
3038+ bend3 = xt .Bend (angle = 0.1 , length = 1.0 )
3039+
3040+ bend1d = xt .Bend .from_dict (bend1 .to_dict ())
3041+ bend2d = xt .Bend .from_dict (bend2 .to_dict ())
3042+ bend3d = xt .Bend .from_dict (bend3 .to_dict ())
3043+
3044+ for bb in [bend1 , bend2 , bend3 , bend1d , bend2d , bend3d ]:
3045+ assert bb .h == 0.1
3046+ assert bb .k0 == 'from_h'
3047+ assert bb .k0_from_h == True
3048+ assert bb .length == 1.0
3049+ assert bb .angle == 0.1
3050+
3051+ bend1 .k0 = 0.2
3052+ assert bend1 .k0 == 0.2
3053+ assert bend1 .h == 0.1
3054+ assert bend1 .k0_from_h == False
3055+
3056+ bend2 .k0_from_h = False
3057+ assert bend2 .k0 == 0.
3058+ assert bend2 .h == 0.1
3059+ assert bend2 .k0_from_h == False
0 commit comments