Skip to content

Commit de19475

Browse files
committed
updating tests to use parameterize
1 parent 5fdbe47 commit de19475

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

tests/unit/interpolator/test_discrete_supports.py

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from LoopStructural.interpolators import StructuredGrid
22
import numpy as np
3-
3+
import pytest
44

55
## structured grid tests
66
def test_create_support(support):
@@ -40,17 +40,17 @@ def test_evaluate_value(support):
4040
== 0
4141
)
4242

43-
44-
def test_evaluate_gradient(support_class):
45-
support = support_class()
43+
@pytest.mark.parametrize('steps',[10,20,100])
44+
def test_evaluate_gradient(support_class,steps):
45+
support = support_class(nsteps=[steps]*3)
4646
# test by setting the scalar field to the y coordinate
4747
vector = support.evaluate_gradient(support.barycentre, support.nodes[:, 1])
4848
assert np.sum(vector - np.array([0, 1, 0])) == 0
4949

50-
# same test but for a bigger grid, making sure scaling for cell is ok
51-
support = support_class(step_vector=np.array([100, 100, 100]))
52-
vector = support.evaluate_gradient(support.barycentre, support.nodes[:, 1])
53-
assert np.sum(vector - np.array([0, 1, 0])) == 0
50+
# # same test but for a bigger grid, making sure scaling for cell is ok
51+
# support = support_class(step_vector=np.array([100, 100, 100]),)
52+
# vector = support.evaluate_gradient(support.barycentre, support.nodes[:, 1])
53+
# assert np.sum(vector - np.array([0, 1, 0])) == 0
5454

5555

5656
def test_outside_box(support):
@@ -78,21 +78,18 @@ def test_outside_box(support):
7878
vector = support.evaluate_gradient(support.nodes, support.nodes[:, 1])
7979

8080

81-
def test_evaluate_gradient2(support_class):
82-
# this test is the same as above but we will use a random vector
83-
rng = np.random.default_rng(10)
84-
_i = 0
85-
for _i in range(10):
86-
step = rng.uniform(0, 100)
87-
grid = support_class(step_vector=np.array([step, step, step]))
88-
89-
# define random vector
90-
n = rng.random(3)
91-
n /= np.linalg.norm(n)
92-
distance = n[0] * grid.nodes[:, 0] + n[1] * grid.nodes[:, 1] + n[2] * grid.nodes[:, 2]
93-
vector = grid.evaluate_gradient(rng.uniform(1, 8, size=(100, 3)), distance)
94-
assert np.all(np.isclose(np.sum(vector - n[None, :], axis=1), 0, atol=1e-3, rtol=1e-3))
95-
assert _i == 9
81+
@pytest.mark.parametrize("seed", range(10))
82+
def test_evaluate_gradient2(support_class, seed):
83+
rng = np.random.default_rng(seed)
84+
step = rng.uniform(0, 100)
85+
grid = support_class(step_vector=np.array([step, step, step]))
86+
87+
# define random vector
88+
n = rng.random(3)
89+
n /= np.linalg.norm(n)
90+
distance = n[0] * grid.nodes[:, 0] + n[1] * grid.nodes[:, 1] + n[2] * grid.nodes[:, 2]
91+
vector = grid.evaluate_gradient(rng.uniform(1, 8, size=(100, 3)), distance)
92+
assert np.all(np.isclose(np.sum(vector - n[None, :], axis=1), 0, atol=1e-3, rtol=1e-3))
9693

9794

9895
def test_get_element(support):

0 commit comments

Comments
 (0)