示例#1
0
        public void Ctor_Heapifies_TheCollection3()
        {
            var heap = new MeanHeap <int>(new[] { 3, 1, 5, 2 }, Comparer <int> .Default, Avg);

            TestHelper.AssertSequence(heap,
                                      5, 3, 2, 1);
        }
示例#2
0
        public void Remove_ReordersHeap_ForUnbalancedRight()
        {
            var unb = new MeanHeap <int>(new[] { 100, 50, 90, 41, 42, 81, 82 }, Comparer <int> .Default, Avg);

            unb.Remove(41);

            TestHelper.AssertSequence(unb, 100, 90, 82, 81, 50, 42);
        }
示例#3
0
        public void Heap_TakesComparerIntoAccount()
        {
            var comparer = Comparer <int> .Create((a, b) => b - a);

            var heap = new MeanHeap <int>(new[] { 10, 8, 1 }, comparer, Avg);

            TestHelper.AssertSequence(heap, 1, 8, 10);
        }
示例#4
0
        public void Mean_ActuallyUsesTheAvgFunction()
        {
            var heap = new MeanHeap <int>(Comparer <int> .Default, (a, b) => - 1)
            {
                1, 2
            };

            Assert.AreEqual(-1, heap.Mean);
        }
示例#5
0
        public void Heap_AllowsDuplicates()
        {
            var heap = new MeanHeap <int>(new[] { 1, 1, 1 }, Comparer <int> .Default, Avg);

            TestHelper.AssertSequence(heap, 1, 1, 1);
        }
示例#6
0
 public void SetUp()
 {
     _empty = new MeanHeap <int>(Comparer <int> .Default, Avg);
     _three = new MeanHeap <int>(new[] { 2, 3, 1 }, Comparer <int> .Default, Avg);
 }
示例#7
0
        public void Ctor_InitializesEmptyCollection2()
        {
            var heap = new MeanHeap <int>(new int[] { }, Comparer <int> .Default, Avg);

            TestHelper.AssertSequence(heap);
        }
示例#8
0
        public void Count_IsNotZero_ForHeapifiedCollections()
        {
            var heap = new MeanHeap <int>(new[] { 1, 2, 3 }, Comparer <int> .Default, Avg);

            Assert.AreEqual(3, heap.Count);
        }