-
Notifications
You must be signed in to change notification settings - Fork 322
/
Copy pathtest_mfreadnam.py
107 lines (97 loc) · 2.82 KB
/
test_mfreadnam.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import pytest
from autotest.conftest import get_example_data_path
from flopy.utils.mfreadnam import (
attribs_from_namfile_header,
get_entries_from_namefile,
)
_example_data_path = get_example_data_path()
@pytest.mark.parametrize(
"path",
[
_example_data_path / "mf6" / "test001a_Tharmonic" / "mfsim.nam",
_example_data_path / "mf6" / "test001e_UZF_3lay" / "mfsim.nam",
_example_data_path / "mf6-freyberg" / "mfsim.nam",
],
)
def test_get_entries_from_namefile_mf6(path):
package = "IMS6"
entries = get_entries_from_namefile(path, ftype=package)
assert len(entries) == 1
entry = entries[0]
assert path.parent.name in entry[0]
assert entry[1] == package
@pytest.mark.skip(reason="only supports mf6 namefiles")
@pytest.mark.parametrize(
"path",
[
_example_data_path / "mf6-freyberg" / "freyberg.nam",
],
)
def test_get_entries_from_namefile_mf2005(path):
package = "IC6"
entries = get_entries_from_namefile(path, ftype=package)
assert len(entries) == 1
entry = entries[0]
assert path.parent.name in entry[0]
assert entry[1] == package
@pytest.mark.parametrize(
"path,expected",
[
pytest.param(
None,
{
"crs": None,
"rotation": 0.0,
"xll": None,
"xul": None,
"yll": None,
"yul": None,
},
id="None",
),
pytest.param(
_example_data_path / "freyberg" / "freyberg.nam",
{
"crs": None,
"rotation": 0.0,
"xll": None,
"xul": None,
"yll": None,
"yul": None,
},
id="freyberg",
),
pytest.param(
_example_data_path / "freyberg_multilayer_transient" / "freyberg.nam",
{
"crs": "+proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs",
"rotation": 15.0,
"start_datetime": "1/1/2015",
"xll": None,
"xul": 619653.0,
"yll": None,
"yul": 3353277.0,
},
id="freyberg_multilayer_transient",
),
pytest.param(
_example_data_path
/ "mt3d_test"
/ "mfnwt_mt3dusgs"
/ "sft_crnkNic"
/ "CrnkNic.nam",
{
"crs": "EPSG:26916",
"rotation": 0.0,
"start_datetime": "1-1-1970",
"xll": None,
"xul": 0.0,
"yll": None,
"yul": 15.0,
},
id="CrnkNic",
),
],
)
def test_attribs_from_namfile_header(path, expected):
assert attribs_from_namfile_header(path) == expected