Update Laplace class and add unit tests (#645)
This commit is contained in:
@@ -5,7 +5,7 @@ from pina.problem import SpatialProblem, TimeDependentProblem
|
||||
|
||||
@pytest.mark.parametrize("c", [1.5, 3])
|
||||
def test_constructor(c):
|
||||
print(f"Testing with c = {c} (type: {type(c)})")
|
||||
|
||||
problem = AdvectionProblem(c=c)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
@@ -14,5 +14,6 @@ def test_constructor(c):
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
# Should fail if c is not a float or int
|
||||
with pytest.raises(ValueError):
|
||||
AdvectionProblem(c="a")
|
||||
AdvectionProblem(c="invalid")
|
||||
|
||||
@@ -1,12 +1,24 @@
|
||||
import pytest
|
||||
from pina.problem.zoo import AllenCahnProblem
|
||||
from pina.problem import SpatialProblem, TimeDependentProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
problem = AllenCahnProblem()
|
||||
@pytest.mark.parametrize("alpha", [0.1, 1])
|
||||
@pytest.mark.parametrize("beta", [0.1, 1])
|
||||
def test_constructor(alpha, beta):
|
||||
|
||||
problem = AllenCahnProblem(alpha=alpha, beta=beta)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert isinstance(problem, TimeDependentProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
# Should fail if alpha is not a float or int
|
||||
with pytest.raises(ValueError):
|
||||
AllenCahnProblem(alpha="invalid", beta=beta)
|
||||
|
||||
# Should fail if beta is not a float or int
|
||||
with pytest.raises(ValueError):
|
||||
AllenCahnProblem(alpha=alpha, beta="invalid")
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
import pytest
|
||||
from pina.problem.zoo import DiffusionReactionProblem
|
||||
from pina.problem import TimeDependentProblem, SpatialProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
problem = DiffusionReactionProblem()
|
||||
@pytest.mark.parametrize("alpha", [0.1, 1])
|
||||
def test_constructor(alpha):
|
||||
|
||||
problem = DiffusionReactionProblem(alpha=alpha)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, TimeDependentProblem)
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
# Should fail if alpha is not a float or int
|
||||
with pytest.raises(ValueError):
|
||||
problem = DiffusionReactionProblem(alpha="invalid")
|
||||
|
||||
@@ -5,6 +5,7 @@ from pina.problem import SpatialProblem
|
||||
|
||||
@pytest.mark.parametrize("alpha", [1.5, 3])
|
||||
def test_constructor(alpha):
|
||||
|
||||
problem = HelmholtzProblem(alpha=alpha)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
@@ -13,4 +14,4 @@ def test_constructor(alpha):
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
HelmholtzProblem(alpha="a")
|
||||
HelmholtzProblem(alpha="invalid")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
from pina.problem.zoo import InversePoisson2DSquareProblem
|
||||
from pina.problem import InverseProblem, SpatialProblem
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.mark.parametrize("load", [True, False])
|
||||
|
||||
@@ -3,6 +3,7 @@ from pina.problem import SpatialProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
|
||||
problem = Poisson2DSquareProblem()
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
|
||||
Reference in New Issue
Block a user