public void MinHeapDoesNotInsertItemAsRootIfItemIsLargerThanOriginalRoot() { int testOrder = 2; IList <int> testCollection = new List <int> { 50, 51, 38, 37, 23, 11, 5, 3 }; var minDHeap = new MinDHeap <int>(testOrder, testCollection.Randomize()); int originalRoot = minDHeap.Peek(); minDHeap.Insert(4); int newRoot = minDHeap.Peek(); Assert.AreEqual(3, originalRoot); Assert.AreEqual(3, newRoot); }
public void MinHeapsRootIsTheSmallestValue() { int testOrder = 2; IList <int> testCollection = new List <int> { 50, 51, 38, 37, 23, 11, 5, 3 }; var minDHeap = new MinDHeap <int>(testOrder, testCollection.Randomize()); int root = minDHeap.Peek(); Assert.AreEqual(3, root); }
public void MinHeapInsertsItemInCollectionAsRootIfItemIsSmallerThanOriginalRoot() { int testOrder = 2; IList <int> testCollection = new List <int> { 50, 51, 38, 37, 23, 11, 5, 3 }; IList <int> newCollection = new List <int> { 2, 4, 6, 8, 10, 12, 14, 16, 18 }; var minDHeap = new MinDHeap <int>(testOrder, testCollection.Randomize()); int originalRoot = minDHeap.Peek(); minDHeap.InsertRange(newCollection.Randomize()); int newRoot = minDHeap.Peek(); Assert.AreEqual(3, originalRoot); Assert.AreEqual(2, newRoot); }
public void MinHeapMovesNextSmallestValueToRootAfterRemoveRoot() { int testOrder = 2; IList <int> testCollection = new List <int> { 50, 51, 38, 37, 23, 11, 5, 3 }; var minDHeap = new MinDHeap <int>(testOrder, testCollection.Randomize()); minDHeap.RemoveRoot(); int newRoot = minDHeap.Peek(); Assert.AreEqual(5, newRoot); }