Skip to content

Commit ab0e74d

Browse files
committed
One more test
1 parent a8384fb commit ab0e74d

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

tests/integration/index_manipulation/test_integration_index_manipulation_update_levels_from_other.py

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,21 +363,48 @@ def test_accessor(setup_pandas_accessors):
363363
)
364364

365365
update_sources = {
366+
# callables single source
366367
"vv": ("variable", lambda x: x.replace("v", "vv")),
367368
"unit": ("unit", lambda x: x.replace("kg", "g").replace("m", "km")),
369+
# callables multi source
370+
"y-label": (("variable", "unit"), lambda x: f"{x[0]} ({x[1]})"),
371+
# dict
372+
"title": ("scenario", {"sa": "Scenario A", "sb": "Delta"}),
373+
# pd.Series
374+
"Source": (
375+
("scenario", "variable"),
376+
pd.Series(
377+
["Internal", "External", "External"],
378+
index=pd.MultiIndex.from_tuples(
379+
[("sa", "va"), ("sb", "vb"), ("sa", "vb")],
380+
names=["scenario", "variable"],
381+
),
382+
),
383+
),
368384
}
369385

370386
exp = pd.DataFrame(
371387
start.values,
372388
columns=start.columns,
373389
index=pd.MultiIndex.from_tuples(
374390
[
375-
("sa", "va", "g", 0, "vva"),
376-
("sb", "vb", "km", -1, "vvb"),
377-
("sa", "va", "g", -2, "vva"),
378-
("sa", "vb", "g", 2, "vvb"),
391+
# Updates not done sequentially
392+
# hence y-label uses units from original data
393+
("sa", "va", "g", 0, "vva", "va (kg)", "Scenario A", "Internal"),
394+
("sb", "vb", "km", -1, "vvb", "vb (m)", "Delta", "External"),
395+
("sa", "va", "g", -2, "vva", "va (kg)", "Scenario A", "Internal"),
396+
("sa", "vb", "g", 2, "vvb", "vb (kg)", "Scenario A", "External"),
397+
],
398+
names=[
399+
"scenario",
400+
"variable",
401+
"unit",
402+
"run_id",
403+
"vv",
404+
"y-label",
405+
"title",
406+
"Source",
379407
],
380-
names=["scenario", "variable", "unit", "run_id", "vv"],
381408
),
382409
)
383410

0 commit comments

Comments
 (0)