low pri features
This commit is contained in:
51
tests/node_tests/super_resolution.py
Normal file
51
tests/node_tests/super_resolution.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import numpy as np
|
||||
from tests.node_tests._shared import make_field
|
||||
|
||||
|
||||
def test_output_shape_single():
|
||||
"""Single input with upscale=2 gives 2x output size."""
|
||||
from backend.nodes.super_resolution import SuperResolution
|
||||
|
||||
field = make_field(shape=(32, 32))
|
||||
node = SuperResolution()
|
||||
result, = node.process(field, upscale=2)
|
||||
assert result.data.shape == (64, 64)
|
||||
|
||||
|
||||
def test_output_shape_multi():
|
||||
"""Multiple inputs still give 2x output size."""
|
||||
from backend.nodes.super_resolution import SuperResolution
|
||||
|
||||
rng = np.random.default_rng(0)
|
||||
f1 = make_field(data=rng.standard_normal((32, 32)))
|
||||
f2 = make_field(data=rng.standard_normal((32, 32)))
|
||||
f3 = make_field(data=rng.standard_normal((32, 32)))
|
||||
node = SuperResolution()
|
||||
result, = node.process(f1, upscale=2, field2=f2, field3=f3)
|
||||
assert result.data.shape == (64, 64)
|
||||
|
||||
|
||||
def test_finite_values():
|
||||
"""Output values must all be finite."""
|
||||
from backend.nodes.super_resolution import SuperResolution
|
||||
|
||||
rng = np.random.default_rng(1)
|
||||
f1 = make_field(data=rng.standard_normal((32, 32)))
|
||||
f2 = make_field(data=rng.standard_normal((32, 32)))
|
||||
node = SuperResolution()
|
||||
result, = node.process(f1, upscale=2, field2=f2)
|
||||
assert np.all(np.isfinite(result.data))
|
||||
|
||||
|
||||
def test_upscale_factor():
|
||||
"""Output dimensions should equal input dimensions times upscale factor."""
|
||||
from backend.nodes.super_resolution import SuperResolution
|
||||
|
||||
field = make_field(shape=(32, 32))
|
||||
node = SuperResolution()
|
||||
for factor in (2, 3, 4):
|
||||
result, = node.process(field, upscale=factor)
|
||||
expected = (32 * factor, 32 * factor)
|
||||
assert result.data.shape == expected, (
|
||||
f"upscale={factor}: expected {expected}, got {result.data.shape}"
|
||||
)
|
||||
Reference in New Issue
Block a user