Skip to content

Commit 840cb2e

Browse files
committed
Explicitly test auto conversion with DD version 3.42.0 (instead of the latest version)
1 parent 3a85100 commit 840cb2e

File tree

2 files changed

+26
-31
lines changed

2 files changed

+26
-31
lines changed

docs/source/courses/advanced/imaspy_snippets/autoconvert_get.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import imaspy
2+
from imaspy.ids_defs import ASCII_BACKEND, IDS_TIME_MODE_HOMOGENEOUS
23
from imaspy.util import get_data_dictionary_version
34

45
# 1. Create test data
@@ -9,33 +10,31 @@
910
pulse_schedule = factory.new("pulse_schedule")
1011

1112
# Fill the IDS with some test data
12-
pulse_schedule.ids_properties.homogeneous_time = \
13-
imaspy.ids_defs.IDS_TIME_MODE_HOMOGENEOUS
14-
pulse_schedule.ids_properties.comment = \
15-
"Testing renamed IDS nodes with IMASPy"
16-
pulse_schedule.time = [1., 1.1, 1.2]
13+
pulse_schedule.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS
14+
pulse_schedule.ids_properties.comment = "Testing renamed IDS nodes with IMASPy"
15+
pulse_schedule.time = [1.0, 1.1, 1.2]
1716

1817
pulse_schedule.ec.antenna.resize(1)
1918
antenna = pulse_schedule.ec.antenna[0]
2019
antenna.name = "ec.antenna[0].name in DD 3.25.0"
21-
antenna.launching_angle_pol.reference_name = \
20+
antenna.launching_angle_pol.reference_name = (
2221
"ec.antenna[0].launching_angle_pol.reference_name in DD 3.25.0"
22+
)
2323
antenna.launching_angle_pol.reference.data = [2.1, 2.2, 2.3]
24-
antenna.launching_angle_tor.reference_name = \
24+
antenna.launching_angle_tor.reference_name = (
2525
"ec.antenna[0].launching_angle_tor.reference_name in DD 3.25.0"
26+
)
2627
antenna.launching_angle_tor.reference.data = [3.1, 3.2, 3.3]
2728
antenna.phase.reference_name = "Phase reference name"
2829

2930
# And store the IDS in a DBEntry using DD 3.25.0
30-
entry = imaspy.DBEntry(
31-
imaspy.ids_defs.ASCII_BACKEND, "autoconvert", 1, 1, dd_version="3.25.0"
32-
)
31+
entry = imaspy.DBEntry(ASCII_BACKEND, "autoconvert", 1, 1, dd_version="3.25.0")
3332
entry.create()
3433
entry.put(pulse_schedule)
3534
entry.close()
3635

37-
# 2. Reopen the DBEntry with a default DD version:
38-
entry = imaspy.DBEntry(imaspy.ids_defs.ASCII_BACKEND, "autoconvert", 1, 1)
36+
# 2. Reopen the DBEntry with DD 3.42.0:
37+
entry = imaspy.DBEntry(ASCII_BACKEND, "autoconvert", 1, 1, dd_version="3.42.0")
3938
entry.open()
4039

4140
# 3. Get the pulse schedule IDS

imaspy/test/test_ids_convert.py

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -122,47 +122,43 @@ def test_dbentry_autoconvert1(backend, worker_id, tmp_path):
122122
if backend != MEMORY_BACKEND:
123123
entry_331.close()
124124

125-
entry_default = open_dbentry(backend, "r", worker_id, tmp_path)
126-
default_version = entry_default.factory.version
127-
assert default_version != "3.31.0"
125+
entry_342 = open_dbentry(backend, "r", worker_id, tmp_path, dd_version="3.42.0")
128126

129127
# Get without conversion
130-
old_ids_get = entry_default.get("core_profiles", autoconvert=False)
128+
old_ids_get = entry_342.get("core_profiles", autoconvert=False)
131129
assert old_ids_get.ids_properties.version_put.data_dictionary == "3.31.0"
132130
assert old_ids_get._dd_version == "3.31.0"
133131

134132
# Work around ASCII backend bug...
135133
if backend == ASCII_BACKEND:
136-
entry_default.close()
137-
entry_default = open_dbentry(backend, "r", worker_id, tmp_path)
134+
entry_342.close()
135+
entry_342 = open_dbentry(backend, "r", worker_id, tmp_path)
138136

139137
# Get with conversion
140-
new_ids_get = entry_default.get("core_profiles")
138+
new_ids_get = entry_342.get("core_profiles")
141139
assert new_ids_get.ids_properties.version_put.data_dictionary == "3.31.0"
142-
assert new_ids_get._dd_version == default_version
140+
assert new_ids_get._dd_version == "3.42.0"
143141

144-
entry_default.close()
142+
entry_342.close()
145143

146144

147145
def test_dbentry_autoconvert2(backend, worker_id, tmp_path):
148-
entry_default = open_dbentry(backend, "w", worker_id, tmp_path)
149-
default_version = entry_default.factory.version
150-
new_ids = entry_default.factory.new("core_profiles")
146+
entry_342 = open_dbentry(backend, "w", worker_id, tmp_path, dd_version="3.42.0")
147+
new_ids = entry_342.factory.new("core_profiles")
151148
new_ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HETEROGENEOUS
152149

153150
# Put without conversion:
154-
entry_default.put(new_ids)
155-
assert new_ids.ids_properties.version_put.data_dictionary == default_version
151+
entry_342.put(new_ids)
152+
assert new_ids.ids_properties.version_put.data_dictionary == "3.42.0"
156153
if backend != MEMORY_BACKEND:
157-
entry_default.close()
154+
entry_342.close()
158155

159156
entry_331 = open_dbentry(backend, "r", worker_id, tmp_path, dd_version="3.31.0")
160-
assert default_version != "3.31.0"
161157

162158
# Get without conversion
163159
new_ids_get = entry_331.get("core_profiles", autoconvert=False)
164-
assert new_ids_get.ids_properties.version_put.data_dictionary == default_version
165-
assert new_ids_get._dd_version == default_version
160+
assert new_ids_get.ids_properties.version_put.data_dictionary == "3.42.0"
161+
assert new_ids_get._dd_version == "3.42.0"
166162

167163
# Work around ASCII backend bug...
168164
if backend == ASCII_BACKEND:
@@ -171,7 +167,7 @@ def test_dbentry_autoconvert2(backend, worker_id, tmp_path):
171167

172168
# Get with conversion
173169
old_ids_get = entry_331.get("core_profiles")
174-
assert old_ids_get.ids_properties.version_put.data_dictionary == default_version
170+
assert old_ids_get.ids_properties.version_put.data_dictionary == "3.42.0"
175171
assert old_ids_get._dd_version == "3.31.0"
176172

177173
entry_331.close()

0 commit comments

Comments
 (0)