36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import numpy as np
|
|
|
|
|
|
def test_mask_invert():
|
|
from backend.nodes.mask_invert import MaskInvert
|
|
node = MaskInvert()
|
|
|
|
mask = np.zeros((64, 64), dtype=np.uint8)
|
|
mask[10:20, 10:20] = 255
|
|
|
|
inverted, = node.process(mask)
|
|
assert inverted.dtype == np.uint8
|
|
assert np.all(inverted[10:20, 10:20] == 0)
|
|
assert np.all(inverted[0:10, 0:10] == 255)
|
|
|
|
double, = node.process(inverted)
|
|
assert np.array_equal(double, mask)
|
|
|
|
|
|
def test_mask_invert_with_field():
|
|
from backend.nodes.mask_invert import MaskInvert
|
|
from backend.execution_context import active_node, execution_callbacks
|
|
from tests.node_tests._shared import make_field
|
|
|
|
node = MaskInvert()
|
|
mask = np.zeros((32, 32), dtype=np.uint8)
|
|
mask[8:24, 8:24] = 255
|
|
field = make_field(data=np.ones((32, 32)))
|
|
|
|
previews = []
|
|
with execution_callbacks(preview=lambda nid, d: previews.append(d)), active_node("test"):
|
|
inverted, = node.process(mask, field=field)
|
|
assert inverted.dtype == np.uint8
|
|
assert len(previews) == 1
|
|
assert previews[0].startswith("data:image/png;base64,")
|