15
15
import copy
16
16
17
17
18
- def test_original_lattice_transfer_map (lattice , tws0 , method , parametr = None , update_ref_values = False ):
18
+ def test_original_lattice_transfer_map (lattice , tws0 , method , parameter = None , update_ref_values = False ):
19
19
"""R maxtrix calculation test"""
20
20
21
21
r_matrix = lattice_transfer_map (lattice , tws0 .E )
@@ -29,7 +29,7 @@ def test_original_lattice_transfer_map(lattice, tws0, method, parametr=None, upd
29
29
assert check_result (result )
30
30
31
31
32
- def test_lattice_save_as_py_file (lattice , tws0 , method , parametr = None , update_ref_values = False ):
32
+ def test_lattice_save_as_py_file (lattice , tws0 , method , parameter = None , update_ref_values = False ):
33
33
"""R maxtrix calculation test"""
34
34
35
35
lattice .save_as_py_file (file_name = "tmp_lattice.py" )
@@ -48,7 +48,7 @@ def test_lattice_save_as_py_file(lattice, tws0, method, parametr=None, update_re
48
48
assert check_result (res )
49
49
50
50
51
- def test_lattice_save_as_py_file_w_coupler (lattice , tws0 , method , parametr = None , update_ref_values = False ):
51
+ def test_lattice_save_as_py_file_w_coupler (lattice , tws0 , method , parameter = None , update_ref_values = False ):
52
52
"""R maxtrix calculation test"""
53
53
lattice0 = copy .deepcopy (lattice )
54
54
for elem in lattice0 .sequence :
@@ -87,7 +87,7 @@ def test_lattice_save_as_py_file_w_coupler(lattice, tws0, method, parametr=None,
87
87
88
88
assert check_result (res )
89
89
90
- def test_original_twiss (lattice , tws0 , method , parametr = None , update_ref_values = False ):
90
+ def test_original_twiss (lattice , tws0 , method , parameter = None , update_ref_values = False ):
91
91
"""Twiss parameters calculation function test"""
92
92
93
93
tws = twiss (lattice , tws0 , nPoints = None )
@@ -103,8 +103,8 @@ def test_original_twiss(lattice, tws0, method, parametr=None, update_ref_values=
103
103
assert check_result (result )
104
104
105
105
106
- @pytest .mark .parametrize ('parametr ' , [False , True ])
107
- def test_lat2input (lattice , tws0 , method , parametr , update_ref_values = False ):
106
+ @pytest .mark .parametrize ('parameter ' , [False , True ])
107
+ def test_lat2input (lattice , tws0 , method , parameter , update_ref_values = False ):
108
108
"""lat2input with tws0 saving function test"""
109
109
110
110
lines_arr = LatticeIO .lat2input (lattice , tws0 = tws0 )
@@ -114,13 +114,13 @@ def test_lat2input(lattice, tws0, method, parametr, update_ref_values=False):
114
114
try :
115
115
exec (lines , globals (), loc_dict )
116
116
except Exception as err :
117
- assert check_result (['Exception error during the lattice file execution, parametr is ' + str (parametr )])
117
+ assert check_result (['Exception error during the lattice file execution, parameter is ' + str (parameter )])
118
118
119
- if parametr :
119
+ if parameter :
120
120
if "tws0" in loc_dict :
121
121
tws0_new = loc_dict ['tws0' ]
122
122
else :
123
- assert check_result (['No tws0 in the lattice file, parametr is ' + str (parametr )])
123
+ assert check_result (['No tws0 in the lattice file, parameter is ' + str (parameter )])
124
124
else :
125
125
tws0_new = tws0
126
126
@@ -130,7 +130,7 @@ def test_lat2input(lattice, tws0, method, parametr, update_ref_values=False):
130
130
lattice_new_transfer_map_check (lattice_new , tws0_new )
131
131
twiss_new_check (lattice_new , tws0_new )
132
132
else :
133
- assert check_result (['No cell variable in the lattice file, parametr is ' + str (parametr )])
133
+ assert check_result (['No cell variable in the lattice file, parameter is ' + str (parameter )])
134
134
135
135
136
136
def lattice_new_transfer_map_check (lattice , tws0 ):
@@ -142,6 +142,21 @@ def lattice_new_transfer_map_check(lattice, tws0):
142
142
result = check_matrix (r_matrix , r_matrix_ref , TOL , assert_info = ' r_matrix for new lattice - ' )
143
143
assert check_result (result )
144
144
145
+ @pytest .mark .parametrize ('parameter' , [0 , 1 , 2 ])
146
+ def test_lattice_transfer_maps_check (lattice , tws0 , method , parameter , update_ref_values = False ):
147
+ matrices = lattice .transfer_maps (tws0 .E )
148
+
149
+
150
+ #r_matrix_ref = json2numpy(json_read(REF_RES_DIR + 'test_original_lattice_transfer_map.json'))
151
+ m = matrices [parameter ]
152
+ if update_ref_values :
153
+ return numpyBRT2json (m )
154
+
155
+ m_ref = json2numpyBRT (json_read (REF_RES_DIR + sys ._getframe ().f_code .co_name + str (parameter ) + '.json' ))
156
+
157
+ result = check_matrix (m , m_ref , TOL , assert_info = ' B_matrix for the lattice - ' )
158
+
159
+ assert check_result (result )
145
160
146
161
def twiss_new_check (lattice , tws0 ):
147
162
@@ -155,7 +170,7 @@ def twiss_new_check(lattice, tws0):
155
170
assert check_result (result )
156
171
157
172
158
- def test_merger (lattice , tws0 , method , parametr = None , update_ref_values = False ):
173
+ def test_merger (lattice , tws0 , method , parameter = None , update_ref_values = False ):
159
174
"""R maxtrix calculation test"""
160
175
d = Drift (l = 0.5 )
161
176
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -185,7 +200,7 @@ def test_merger(lattice, tws0, method, parametr=None, update_ref_values=False):
185
200
assert check_result (result + result2 )
186
201
187
202
188
- def test_merger_elem (lattice , tws0 , method , parametr = None , update_ref_values = False ):
203
+ def test_merger_elem (lattice , tws0 , method , parameter = None , update_ref_values = False ):
189
204
"""R maxtrix calculation test"""
190
205
d = Drift (l = 0.5 )
191
206
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -215,7 +230,7 @@ def test_merger_elem(lattice, tws0, method, parametr=None, update_ref_values=Fal
215
230
assert check_result (result + result2 )
216
231
217
232
218
- def test_merger_elem_w_coupler (lattice , tws0 , method , parametr = None , update_ref_values = False ):
233
+ def test_merger_elem_w_coupler (lattice , tws0 , method , parameter = None , update_ref_values = False ):
219
234
"""R maxtrix calculation test"""
220
235
d = Drift (l = 0.5 )
221
236
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -252,7 +267,7 @@ def test_merger_elem_w_coupler(lattice, tws0, method, parametr=None, update_ref_
252
267
result2 = check_matrix (lat .T , new_lat .T , TOL , assert_info = ' t_matrix - ' )
253
268
assert check_result (result + result2 )
254
269
255
- def test_merger_type (lattice , tws0 , method , parametr = None , update_ref_values = False ):
270
+ def test_merger_type (lattice , tws0 , method , parameter = None , update_ref_values = False ):
256
271
"""R maxtrix calculation test"""
257
272
d = Drift (l = 0.5 )
258
273
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -284,7 +299,7 @@ def test_merger_type(lattice, tws0, method, parametr=None, update_ref_values=Fal
284
299
assert check_result (result + result2 )
285
300
286
301
287
- def test_merger_extensive (lattice , tws0 , method , parametr = None , update_ref_values = False ):
302
+ def test_merger_extensive (lattice , tws0 , method , parameter = None , update_ref_values = False ):
288
303
"""R maxtrix calculation test"""
289
304
290
305
@@ -300,7 +315,7 @@ def test_merger_extensive(lattice, tws0, method, parametr=None, update_ref_value
300
315
assert check_result (result + result2 )
301
316
302
317
303
- def test_merger_tilt (lattice , tws0 , method , parametr = None , update_ref_values = False ):
318
+ def test_merger_tilt (lattice , tws0 , method , parameter = None , update_ref_values = False ):
304
319
"""R maxtrix calculation test"""
305
320
d = Drift (l = 0.5 )
306
321
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" , tilt = 1. )
@@ -331,7 +346,7 @@ def test_merger_tilt(lattice, tws0, method, parametr=None, update_ref_values=Fal
331
346
assert check_result (result + result2 )
332
347
333
348
334
- def test_merger_write_read (lattice , tws0 , method , parametr = None , update_ref_values = False ):
349
+ def test_merger_write_read (lattice , tws0 , method , parameter = None , update_ref_values = False ):
335
350
"""R maxtrix calculation test"""
336
351
337
352
R = lattice_transfer_map (lattice , energy = tws0 .E )
@@ -348,7 +363,7 @@ def test_merger_write_read(lattice, tws0, method, parametr=None, update_ref_valu
348
363
result2 = check_matrix (lattice .T , new_lat2 .T , tolerance = 1.0e-8 , tolerance_type = 'absolute' , assert_info = ' t_matrix - ' )
349
364
assert check_result (result + result2 )
350
365
351
- def test_matrix_write_read (lattice , tws0 , method , parametr = None , update_ref_values = False ):
366
+ def test_matrix_write_read (lattice , tws0 , method , parameter = None , update_ref_values = False ):
352
367
"""R maxtrix calculation test"""
353
368
m = Matrix (l = 0.3 , delta_e = 0.1 )
354
369
m .r = np .random .random ((6 , 6 ))
@@ -368,11 +383,11 @@ def test_matrix_write_read(lattice, tws0, method, parametr=None, update_ref_valu
368
383
369
384
result = check_matrix (R , R2 , TOL , assert_info = 'r_matrix - ' )
370
385
result2 = check_matrix (lat .T , lat2 .T , TOL , assert_info = 't_matrix - ' )
371
- result3 = check_matrix (np .array ([lat . E , lat .totalLen ]), np .array ([lat2 . E , lat2 .totalLen ]), TOL , assert_info = 't_matrix - ' )
386
+ result3 = check_matrix (np .array ([ lat .totalLen ]), np .array ([lat2 .totalLen ]), TOL , assert_info = 't_matrix - ' )
372
387
assert check_result (result + result2 + result3 )
373
388
374
389
375
- def test_matrix_b_vector (lattice , tws0 , method , parametr = None , update_ref_values = False ):
390
+ def test_matrix_b_vector (lattice , tws0 , method , parameter = None , update_ref_values = False ):
376
391
"""R maxtrix calculation test"""
377
392
d = Drift (l = 0.5 )
378
393
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -407,7 +422,7 @@ def test_matrix_b_vector(lattice, tws0, method, parametr=None, update_ref_values
407
422
assert check_result (result + result2 + result3 )
408
423
409
424
410
- def test_matrix_b_vector_read_write (lattice , tws0 , method , parametr = None , update_ref_values = False ):
425
+ def test_matrix_b_vector_read_write (lattice , tws0 , method , parameter = None , update_ref_values = False ):
411
426
"""R maxtrix calculation test"""
412
427
d = Drift (l = 0.5 )
413
428
q = Quadrupole (l = 0.3 , k1 = 3 , k2 = 3.3 , eid = "quad" )
@@ -481,16 +496,22 @@ def test_update_ref_values(lattice, tws0, method, cmdopt):
481
496
update_functions = []
482
497
update_functions .append ('test_original_lattice_transfer_map' )
483
498
update_functions .append ('test_original_twiss' )
499
+ update_functions .append ("test_lattice_transfer_maps_check" )
484
500
485
501
# function test_lat2input function need not be added here.
486
502
# It is used reference results from test_original_lattice_transfer_map and test_original_twiss functions
503
+ update_function_parameters = {}
504
+ update_function_parameters ['test_lattice_transfer_maps_check' ] = [0 , 1 , 2 ]
505
+
506
+ parameter = update_function_parameters [cmdopt ] if cmdopt in update_function_parameters .keys () else ['' ]
487
507
488
508
if cmdopt in update_functions :
489
- result = eval (cmdopt )(lattice , tws0 , method , None , True )
490
- if result is None :
491
- return
509
+ for p in parameter :
510
+ result = eval (cmdopt )(lattice , tws0 , method , p , True )
511
+ if result is None :
512
+ return
492
513
493
- if os .path .isfile (REF_RES_DIR + cmdopt + '.json' ):
494
- os .rename (REF_RES_DIR + cmdopt + '.json' , REF_RES_DIR + cmdopt + '.old' )
514
+ if os .path .isfile (REF_RES_DIR + cmdopt + '.json' ):
515
+ os .rename (REF_RES_DIR + cmdopt + '.json' , REF_RES_DIR + cmdopt + str ( p ) + '.old' )
495
516
496
- json_save (result , REF_RES_DIR + cmdopt + '.json' )
517
+ json_save (result , REF_RES_DIR + cmdopt + str ( p ) + '.json' )
0 commit comments