add a few more nodes
Some checks failed
Build / Build (Linux) (push) Has been cancelled
Build / Build (macOS) (push) Has been cancelled
Build / Build (Windows) (push) Has been cancelled
Deploy / test (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Tests / test (push) Has been cancelled
Some checks failed
Build / Build (Linux) (push) Has been cancelled
Build / Build (macOS) (push) Has been cancelled
Build / Build (Windows) (push) Has been cancelled
Deploy / test (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Tests / test (push) Has been cancelled
This commit is contained in:
55
tests/node_tests/arc_revolve.py
Normal file
55
tests/node_tests/arc_revolve.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import numpy as np
|
||||
from tests.node_tests._shared import make_field
|
||||
|
||||
|
||||
def test_arc_revolve_horizontal():
|
||||
from backend.nodes.arc_revolve import ArcRevolve
|
||||
|
||||
node = ArcRevolve()
|
||||
rng = np.random.default_rng(42)
|
||||
x = np.linspace(0, 1, 64)
|
||||
bow = 10.0 * x ** 2
|
||||
data = bow[None, :] + rng.standard_normal((64, 64)) * 0.01
|
||||
field = make_field(data=data)
|
||||
|
||||
leveled, bg = node.process(field, radius=40, direction="horizontal")
|
||||
assert leveled.data.shape == field.data.shape
|
||||
assert bg.data.shape == field.data.shape
|
||||
assert np.allclose(leveled.data + bg.data, data)
|
||||
|
||||
|
||||
def test_arc_revolve_vertical():
|
||||
from backend.nodes.arc_revolve import ArcRevolve
|
||||
|
||||
node = ArcRevolve()
|
||||
y = np.linspace(0, 1, 64)
|
||||
data = (5.0 * y ** 2)[:, None] * np.ones((1, 64))
|
||||
field = make_field(data=data)
|
||||
|
||||
leveled, bg = node.process(field, radius=40, direction="vertical")
|
||||
assert np.allclose(leveled.data + bg.data, data)
|
||||
|
||||
|
||||
def test_arc_revolve_both():
|
||||
from backend.nodes.arc_revolve import ArcRevolve
|
||||
|
||||
node = ArcRevolve()
|
||||
y, x = np.mgrid[:32, :32] / 32.0
|
||||
data = 5.0 * x ** 2 + 3.0 * y ** 2
|
||||
field = make_field(data=data)
|
||||
|
||||
leveled, bg = node.process(field, radius=30, direction="both")
|
||||
assert leveled.data.shape == data.shape
|
||||
assert bg.data.shape == data.shape
|
||||
|
||||
|
||||
def test_arc_revolve_flat_passthrough():
|
||||
from backend.nodes.arc_revolve import ArcRevolve
|
||||
|
||||
node = ArcRevolve()
|
||||
data = np.ones((32, 32)) * 5.0
|
||||
field = make_field(data=data)
|
||||
|
||||
leveled, bg = node.process(field, radius=20, direction="horizontal")
|
||||
assert leveled.data.std() < 1e-10
|
||||
assert np.allclose(leveled.data + bg.data, data)
|
||||
Reference in New Issue
Block a user