def test_missing_merge(): h1 = StreamHist(maxbins=8).update(None) h2 = StreamHist(maxbins=8) assert h1.merge(h2) is not None h1 = StreamHist().update(None) h2 = StreamHist().update(None) merged = StreamHist().merge(h1.merge(h2)) assert merged.missing_count == 2
def test_min_max(): h = StreamHist() assert h.min() is None assert h.max() is None for _ in range(1000): h.update(rand_int(10)) assert h.min() == 0 assert h.max() == 10 h1 = StreamHist() h2 = StreamHist() for p in range(4): h1.update(p) h2.update(p + 2) merged = h1.merge(h2) assert merged.min() == 0 assert merged.max() == 5
def test_merge(): assert len(StreamHist().merge(StreamHist()).bins) == 0 assert len(StreamHist().merge(StreamHist().update(1)).bins) == 1 assert len(StreamHist().update(1).merge(StreamHist()).bins) == 1 points = 1000 count = 10 hists = [] for c in range(count): h = StreamHist() for p in make_normal(points): h.update(p) hists.append(h) merged = reduce(lambda a, b: a.merge(b), hists) assert about(merged.sum(0), (points*count)/2.0, (points*count)/50.0) h1 = StreamHist().update(1).update(None) h2 = StreamHist().update(2).update(None) merged = h1.merge(h2) assert merged.total == 2
def test_min_max(): h = StreamHist() assert h.min() is None assert h.max() is None for _ in range(1000): h.update(rand_int(10)) assert h.min() == 0 assert h.max() == 10 h1 = StreamHist() h2 = StreamHist() for p in range(4): h1.update(p) h2.update(p+2) merged = h1.merge(h2) assert merged.min() == 0 assert merged.max() == 5
def test_merge(): assert len(StreamHist().merge(StreamHist()).bins) == 0 assert len(StreamHist().merge(StreamHist().update(1)).bins) == 1 assert len(StreamHist().update(1).merge(StreamHist()).bins) == 1 points = 1000 count = 10 hists = [] for c in range(count): h = StreamHist() for p in make_normal(points): h.update(p) hists.append(h) merged = reduce(lambda a, b: a.merge(b), hists) assert about(merged.sum(0), (points * count) / 2.0, (points * count) / 50.0) h1 = StreamHist().update(1).update(None) h2 = StreamHist().update(2).update(None) merged = h1.merge(h2) assert merged.total == 2