Skip to content

Commit 7ecbb93

Browse files
EwoutHrht
andcommitted
Create script to test GIS examples
Co-Authored-By: rht <[email protected]>
1 parent 2fd8945 commit 7ecbb93

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

Diff for: test_gis_examples.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import importlib
2+
import os
3+
4+
import pytest
5+
from mesa import Model
6+
7+
8+
def get_models(directory):
9+
models = []
10+
for root, dirs, files in os.walk(directory):
11+
for file in files:
12+
if file == "model.py":
13+
module_name = os.path.relpath(os.path.join(root, file[:-3])).replace(
14+
os.sep, "."
15+
)
16+
17+
module = importlib.import_module(module_name)
18+
for item in dir(module):
19+
obj = getattr(module, item)
20+
if (
21+
isinstance(obj, type)
22+
and issubclass(obj, Model)
23+
and obj is not Model
24+
):
25+
models.append(obj)
26+
27+
return models
28+
29+
30+
@pytest.mark.parametrize("model_class", get_models("gis"))
31+
def test_model_steps(model_class):
32+
model = model_class() # Assume no arguments are needed
33+
for _ in range(10):
34+
model.step()

0 commit comments

Comments
 (0)