public void Add_SecondAddedItemIsGreater_ExpectGreaterItemIsMovedToArrayBeginning() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); heap.Add(15); CollectionAssert.AreEqual(new[] { 15, 10 }, heap.ToArray()); }
public void Add_MoreThanOneSwap_ExpectMaxItemIsMovedToArrayBeginning() { var heap = new MaxBinaryHeap<int>(); heap.Add(1); heap.Add(3); heap.Add(5); heap.Add(8); CollectionAssert.AreEqual(new[] { 8, 5, 3, 1 }, heap.ToArray()); }
public void Add_ExpectCountIncrement() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); Assert.AreEqual(1, heap.Count); }
public void Add_ExpectHeapContainsItem() { var heap = new MaxBinaryHeap<int>(); var item = 10; heap.Add(item); CollectionAssert.AreEquivalent(new[] { item }, heap.ToArray()); }
public MaxBinaryHeap <int, int> TestMaxHeap() { var values = new List <int>() { 3, 7, 10, 1, 4, 4, 0, 20, 15, 12 }; var maxHeap = new MaxBinaryHeap <int, int>(values.Count); values.ForEach(v => maxHeap.Add(v, v)); return(maxHeap); }
public void DeleteMax_MoreThanOneSwap_ExpectHeapIsValid() { var heap = new MaxBinaryHeap<int>(); //three complete layers in tree + one element on the forth layer var items = new[] { 1, 3, 5, 8, 13, 21, 34, 55 }; foreach (var item in items) { heap.Add(item); } heap.DeleteMax(); var expectedArray = new[] { 34, 8, 21, 1, 5, 3, 13 }; CollectionAssert.AreEqual(expectedArray, heap.ToArray()); }
public void DeleteMax_OneItem_ExpectCountDecrement() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); heap.DeleteMax(); Assert.AreEqual(0, heap.Count); }
public void PeekMax_OneItem_ExpectReturnItem() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); var peekedItem = heap.PeekMax(); Assert.AreEqual(10, peekedItem); }
public void PeekMax_ExpectCountNotChange() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); heap.PeekMax(); Assert.AreEqual(1, heap.Count); }
public void DeleteMax_TwoNotEqualItems_ExpectReturnMax() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); heap.Add(20); var max = heap.DeleteMax(); Assert.AreEqual(20, max); heap = new MaxBinaryHeap<int>(); heap.Add(20); heap.Add(10); max = heap.DeleteMax(); Assert.AreEqual(20, max); }
public void DeleteMax_TwoNotEqualItems_ExpectCountDecrement() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); heap.Add(20); heap.DeleteMax(); Assert.AreEqual(1, heap.Count); }
public void DeleteMax_OneItem_ExpectReturnItem() { var heap = new MaxBinaryHeap<int>(); heap.Add(10); var max = heap.DeleteMax(); Assert.AreEqual(10, max); }