def test_histogram_can_not_set_x(): """We cannot change the x accessor""" xlo = [10, 20, 40, 80] xhi = [20, 40, 60, 90] y = [1, 2, 3, 4] d = Data1DInt('xx', xlo, xhi, y) dp = sherpaplot.DataHistogramPlot() dp.prepare(d) with pytest.raises(AttributeError): dp.x = xlo
def test_histogram_returns_x(): """We support x accessor for histogram plots.""" xlo = [10, 20, 40, 80] xhi = [20, 40, 60, 90] y = [1, 2, 3, 4] d = Data1DInt('xx', xlo, xhi, y) dp = sherpaplot.DataHistogramPlot() dp.prepare(d) xlo = numpy.asarray(xlo) xhi = numpy.asarray(xhi) assert dp.xlo == pytest.approx(xlo) assert dp.xhi == pytest.approx(xhi) assert dp.x == pytest.approx(0.5 * (xlo + xhi)) # check x is not in the str output # for line in str(dp).split('\n'): toks = line.split() assert len(toks) > 2 assert toks[0] != 'x'
def test_histogram_empty_x(): """x accessor is None if there's no data""" dp = sherpaplot.DataHistogramPlot() assert dp.x is None