geometry_tools.utils.testing

 1import numpy as np
 2
 3def same_none(n1, n2):
 4    return (n1 is None and n2 is None) or (n1 is not None and n2 is not None)
 5
 6def assert_numpy_equivalent(obj1, obj2):
 7    assert obj1.proj_data.dtype == obj2.proj_data.dtype
 8    assert obj1.shape == obj2.shape
 9
10    assert obj1.unit_ndims == obj2.unit_ndims
11    assert obj1.aux_ndims == obj2.aux_ndims
12    assert obj1.dual_ndims == obj2.dual_ndims
13
14    assert same_none(obj1.aux_data, obj2.aux_data)
15    assert same_none(obj1.dual_data, obj2.dual_data)
16
17    assert np.allclose(
18        obj1.proj_data,
19        obj2.proj_data
20    )
21
22    if obj1.aux_data is not None:
23        assert np.allclose(
24            obj1.aux_data,
25            obj2.aux_data
26        )
27
28    if obj1.dual_data is not None:
29        assert np.allclose(
30            obj1.dual_data,
31            obj2.dual_data
32        )
def same_none(n1, n2):
4def same_none(n1, n2):
5    return (n1 is None and n2 is None) or (n1 is not None and n2 is not None)
def assert_numpy_equivalent(obj1, obj2):
 7def assert_numpy_equivalent(obj1, obj2):
 8    assert obj1.proj_data.dtype == obj2.proj_data.dtype
 9    assert obj1.shape == obj2.shape
10
11    assert obj1.unit_ndims == obj2.unit_ndims
12    assert obj1.aux_ndims == obj2.aux_ndims
13    assert obj1.dual_ndims == obj2.dual_ndims
14
15    assert same_none(obj1.aux_data, obj2.aux_data)
16    assert same_none(obj1.dual_data, obj2.dual_data)
17
18    assert np.allclose(
19        obj1.proj_data,
20        obj2.proj_data
21    )
22
23    if obj1.aux_data is not None:
24        assert np.allclose(
25            obj1.aux_data,
26            obj2.aux_data
27        )
28
29    if obj1.dual_data is not None:
30        assert np.allclose(
31            obj1.dual_data,
32            obj2.dual_data
33        )