Skip to content

Commit 6500c6e

Browse files
committed
add test that ensures warning is issued
1 parent 88881f8 commit 6500c6e

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tests/unit/models/geometry/PoreSurfaceAreaTest.py

+17
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import openpnm.models.geometry.pore_surface_area as mods
33
import numpy as np
44
from numpy.testing import assert_allclose
5+
import pytest
56

67

78
class PoreSurfaceAreaTest:
@@ -69,6 +70,22 @@ def test_circle_multi_geom(self):
6970
assert_allclose(a, b)
7071
assert_allclose(c, d)
7172

73+
def test_negative_surface_area(self):
74+
pn = op.network.Cubic([2, 1, 1])
75+
pn.add_model_collection(op.models.collections.geometry.circles_and_rectangles)
76+
pn.regenerate_models()
77+
pn.add_model(propname='pore.surface_area', model=op.models.geometry.pore_surface_area.circle)
78+
pn['throat.cross_sectional_area'] = 100
79+
pn.regenerate_models('pore.surface_area@all')
80+
assert np.all(pn['pore.surface_area'] == 0)
81+
with pytest.warns():
82+
pn.add_model(
83+
propname='pore.surface_area',
84+
model=op.models.geometry.pore_surface_area.circle,
85+
amin=None,
86+
)
87+
assert np.all(pn['pore.surface_area'] < 0)
88+
7289

7390
if __name__ == '__main__':
7491

0 commit comments

Comments
 (0)