|
4 | 4 | import pytest |
5 | 5 |
|
6 | 6 | from pyaml.accelerator import Accelerator |
| 7 | +from pyaml.arrays.bpm import BPM |
| 8 | +from pyaml.arrays.bpm import ConfigModel as BPMArrayConfigModel |
7 | 9 | from pyaml.arrays.bpm_array import BPMArray |
| 10 | +from pyaml.arrays.cfm_magnet import CombinedFunctionMagnet |
| 11 | +from pyaml.arrays.cfm_magnet import ConfigModel as CombinedFunctionMagnetConfigModel |
8 | 12 | from pyaml.arrays.cfm_magnet_array import CombinedFunctionMagnetArray |
9 | 13 | from pyaml.arrays.element_array import ElementArray |
| 14 | +from pyaml.arrays.magnet import ConfigModel as MagnetArrayConfigModel |
| 15 | +from pyaml.arrays.magnet import Magnet |
10 | 16 | from pyaml.arrays.magnet_array import MagnetArray |
11 | 17 | from pyaml.configuration.factory import Factory |
12 | 18 |
|
@@ -220,4 +226,22 @@ def test_arrays(install_test_package): |
220 | 226 | magSH1AC = acfm["model_name:SH1A-*"] # All SH1A magnets (CFMs only) |
221 | 227 | assert isinstance(magSH1AC, ElementArray) and len(magSH1AC) == 32 |
222 | 228 |
|
| 229 | + # Empty arrays |
| 230 | + emptyMag = Magnet(MagnetArrayConfigModel(name="EmptyMag", elements=[])) |
| 231 | + emptyMag.fill_array(sr.design) # Attach the array |
| 232 | + v = sr.design.get_magnets("EmptyMag").strengths.get() # Ensure good attach |
| 233 | + assert np.shape(v) == (0,) |
| 234 | + |
| 235 | + emptyBPM = BPM(BPMArrayConfigModel(name="emptyBPM", elements=[])) |
| 236 | + emptyBPM.fill_array(sr.design) # Attach the array |
| 237 | + v = sr.design.get_bpms("emptyBPM").positions.get() # Ensure good attach |
| 238 | + assert np.shape(v) == (0,) |
| 239 | + |
| 240 | + emptyCFM = CombinedFunctionMagnet( |
| 241 | + CombinedFunctionMagnetConfigModel(name="emptyCFM", elements=[]) |
| 242 | + ) |
| 243 | + emptyCFM.fill_array(sr.design) # Attach the array |
| 244 | + v = sr.design.get_cfm_magnets("emptyCFM").strengths.get() # Ensure good attach |
| 245 | + assert np.shape(v) == (0,) |
| 246 | + |
223 | 247 | Factory.clear() |
0 commit comments