def test_reverse_cumulative(self):
     histo = Histogram(n_bins=5)
     hist = histo.histogram(self.data)
     rev_cumulative = histo.reverse_cumulative(maximum=None)
     assert_items_almost_equal(rev_cumulative.values(), [10, 5, 5, 3, 2, 1])
     rev_cumulative = histo.reverse_cumulative(maximum=1.0)
     assert_items_almost_equal(rev_cumulative.values(),
                               [1.0, 0.5, 0.5, 0.3, 0.2, 0.1])
 def test_reverse_cumulative(self):
     histo = Histogram(n_bins=5)
     hist = histo.histogram(self.data)
     rev_cumulative = histo.reverse_cumulative(maximum=None)
     assert_items_almost_equal(list(rev_cumulative.values()),
                               [10, 5, 5, 3, 2, 1])
     rev_cumulative = histo.reverse_cumulative(maximum=1.0)
     assert_items_almost_equal(list(rev_cumulative.values()),
                               [1.0, 0.5, 0.5, 0.3, 0.2, 0.1])
 def test_reverse_cumulative_all_zero_warn(self):
     histo = Histogram(bin_width=0.5, bin_range=(1.0, 3.5))
     histo._histogram = collections.Counter({(0,): 0, (1,): 0})
     with pytest.warns(UserWarning, match=r"No non-zero"):
         rcumul = histo.reverse_cumulative()
     assert rcumul(3.12) == 0
     for val in rcumul.values():
         assert val == 0
 def test_left_bin_error(self):
     histo = Histogram(bin_width=0.5, bin_range=(-1.0, 3.5))
     histo.histogram([3.5])
     assert histo.reverse_cumulative() != 0