コード例 #1
0
        public void HllNormalMergeNullErrorTest()
        {
            HyperLogLog hll1 = new HyperLogLogNormal(10);
            hll1.Add(1);

            hll1.Merge(null);
        }
コード例 #2
0
        public void HllNormalMergePrecisionErrorTest()
        {
            HyperLogLog hll1 = new HyperLogLogNormal(10);
            hll1.Add(1);
            HyperLogLog hll2 = new HyperLogLogNormal(15);
            hll2.Add(2);

            hll1.Merge(hll2);
        }
コード例 #3
0
        public void HllNormalMergeTest()
        {
            HyperLogLog hll1 = new HyperLogLogNormal(14);
            HyperLogLog hll2 = new HyperLogLogNormal(14);

            // Init
            hll1.Add(1);
            hll1.Add(2);
            hll1.Add(3);
            hll1.Add(4);
            hll1.Add(4);

            hll2.Add(3);
            hll2.Add(3);
            hll2.Add(4);
            hll2.Add(5);
            hll2.Add(6);
            hll2.Add(7);
            hll2.Add(7);

            Assert.IsTrue(hll1.Merge(hll2), "Merge should alter some registers and return true");
            Assert.AreEqual(7UL, hll1.Cardinality, "Cardinality after merge should be up-to-date");
        }