diff --git a/src/transformnd/spaced.py b/src/transformnd/spaced.py index ee93f4f..2bb466c 100644 --- a/src/transformnd/spaced.py +++ b/src/transformnd/spaced.py @@ -38,7 +38,7 @@ def invert(self) -> Self | None: t = self.transform.invert() if t is None: return None - return type(self)(t, self.spaces.source, self.spaces.target) + return type(self)(t, self.spaces.target, self.spaces.source) def __invert__(self): out = self.invert() diff --git a/tests/test_spaced.py b/tests/test_spaced.py new file mode 100644 index 0000000..07a30d8 --- /dev/null +++ b/tests/test_spaced.py @@ -0,0 +1,15 @@ +import pytest +from transformnd.spaced import Spaced +from transformnd.transforms import Translate +from transformnd.util import as_floats + + +def test_invert_spaced(coords5x3): + t1 = Translate(as_floats([1, 2, 3])) + s1 = Spaced(t1, "a", "b") + s2 = s1.invert() + assert s2 is not None + assert s2.spaces.source == s1.spaces.target + assert s2.spaces.target == s1.spaces.source + + assert s2.transform.apply(s1.transform.apply(coords5x3)) == pytest.approx(coords5x3)