|
18 | 18 | CSA2_B0 = open(pjoin(IO_DATA_PATH, 'csa2_b0.bin'), 'rb').read()
|
19 | 19 | CSA2_B1000 = open(pjoin(IO_DATA_PATH, 'csa2_b1000.bin'), 'rb').read()
|
20 | 20 | CSA2_0len = gzip.open(pjoin(IO_DATA_PATH, 'csa2_zero_len.bin.gz'), 'rb').read()
|
| 21 | +CSA_STR_valid = open(pjoin(IO_DATA_PATH, 'csa_str_valid.bin'), 'rb').read() |
| 22 | +CSA_STR_200n_items = open(pjoin(IO_DATA_PATH, 'csa_str_200n_items.bin'), 'rb').read() |
21 | 23 |
|
22 | 24 |
|
23 | 25 | @dicom_test
|
@@ -65,6 +67,22 @@ def test_csa_len0():
|
65 | 67 | assert_equal(len(tags), 44)
|
66 | 68 |
|
67 | 69 |
|
| 70 | +def test_csa_nitem(): |
| 71 | + # testing csa.read's ability to raise an error when n_items >= 200 |
| 72 | + assert_raises(csa.CSAReadError, csa.read, CSA_STR_200n_items) |
| 73 | + # OK when < 200 |
| 74 | + csa_info = csa.read(CSA_STR_valid) |
| 75 | + assert_equal(len(csa_info['tags']), 1) |
| 76 | + # OK after changing module global |
| 77 | + n_items_thresh = csa.MAX_CSA_ITEMS |
| 78 | + try: |
| 79 | + csa.MAX_CSA_ITEMS = 1000 |
| 80 | + csa_info = csa.read(CSA_STR_200n_items) |
| 81 | + assert_equal(len(csa_info['tags']), 1) |
| 82 | + finally: |
| 83 | + csa.MAX_CSA_ITEMS = n_items_thresh |
| 84 | + |
| 85 | + |
68 | 86 | def test_csa_params():
|
69 | 87 | for csa_str in (CSA2_B0, CSA2_B1000):
|
70 | 88 | csa_info = csa.read(csa_str)
|
|
0 commit comments