Skip to content

Commit e2866f5

Browse files
committed
Modified fix batch_run
1 parent 6bd58df commit e2866f5

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

mesa/batchrunner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ def _make_model_kwargs(
9595
if isinstance(values, str):
9696
# The values is a single string, so we shouldn't iterate over it.
9797
all_values = [(param, values)]
98+
elif isinstance(values, Iterable) and len(values) == 0:
99+
# The values is an empty iterable, so we shouldn't iterate over it.
100+
all_values = [(param, values)]
98101
else:
99102
try:
100103
all_values = [(param, value) for value in values]

tests/test_batch_run.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def test_make_model_kwargs():
2121
]
2222
# If the value is a single string, do not iterate over it.
2323
assert _make_model_kwargs({"a": "value"}) == [{"a": "value"}]
24+
# If the values is an empty iterable, don't iterate over it.
25+
assert _make_model_kwargs({"a": []}) == [{"a": []}]
2426

2527

2628
class MockAgent(Agent):
@@ -65,7 +67,8 @@ def __init__(
6567
else:
6668
agent_reporters = None
6769
self.datacollector = DataCollector(
68-
model_reporters={"reported_model_param": self.get_local_model_param},
70+
model_reporters={
71+
"reported_model_param": self.get_local_model_param},
6972
agent_reporters=agent_reporters,
7073
)
7174
self.running = True

0 commit comments

Comments
 (0)