public void Insert_20_and_4_peek_must_return_4() { var sut = new MinBinaryHeap(10); sut.Insert(20); sut.Insert(4); Assert.Equal(4, sut.Peek()); }
public void InsertAndExtractSomeNumbers(int[] input, int[] output) { var sut = new MinBinaryHeap(5); foreach (var item in input) { sut.Insert(item); } foreach (var item in output) { Assert.Equal(item, sut.ExtractMin()); } }
public void Insert(int value) { if (IsEmpty()) { minBinaryHeap.Insert(value); } else if (value > Median()) { minBinaryHeap.Insert(value); } else { maxBinaryHeap.Insert(value); } if (minBinaryHeap.Size() > maxBinaryHeap.Size() + 1) { maxBinaryHeap.Insert(minBinaryHeap.ExtractMin()); } else if (maxBinaryHeap.Size() > minBinaryHeap.Size() + 1) { minBinaryHeap.Insert(maxBinaryHeap.ExtractMax()); } }
public void Insert_when_running_out_space_throws_exception() { var sut = new MinBinaryHeap(0); Assert.Throws <InvalidOperationException>(() => sut.Insert(1)); }