Skip to content

Commit

Permalink
TST: add tests for resolved symlog issues
Browse files Browse the repository at this point in the history
  • Loading branch information
neutrinoceros committed Apr 6, 2022
1 parent 8ad98f5 commit eab3b1c
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions yt/visualization/tests/test_plotwindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -722,6 +722,43 @@ def _neg_density(field, data):
plot.save(f.name)


def test_symlog_min_zero():
# see https://github.com/yt-project/yt/issues/3791
shape = (32, 16, 1)
a = np.linspace(0, 1, 16)
b = np.ones((32, 16))
c = np.reshape(a * b, shape)
data = {("gas", "density"): c}

ds = load_uniform_grid(
data,
shape,
bbox=np.array([[0.0, 5.0], [0, 1], [-0.1, +0.1]]),
)

p = SlicePlot(ds, "z", "density")
im_arr = p["gas", "density"].image.get_array()

# check that no data value was mapped to a NaN (log(0))
assert np.all(~np.isnan(im_arr))
# 0 should be mapped to itself since we expect a symlog norm
assert np.min(im_arr) == 0.0


def test_symlog_extremely_small_vals():
# check that the plot can be constructed without crashing
# see https://github.com/yt-project/yt/issues/3858
shape = (64, 64, 1)
arr = np.full(shape, 5.0e-324)
arr[0, 0] = -1e12
arr[1, 1] = 200
d = {"scalar": arr}

ds = load_uniform_grid(d, shape)
p = SlicePlot(ds, "z", ("stream", "scalar"))
p["stream", "scalar"]


def test_nan_data():
data = np.random.random((16, 16, 16)) - 0.5
data[:9, :9, :9] = np.nan
Expand Down

0 comments on commit eab3b1c

Please sign in to comment.