public void GetEnumerator_WhenEmpty_ThenNoElements() { // given testObject = new DoubleHeap <int>(); // when IEnumerator <int> result = testObject.GetEnumerator(); // then result.MoveNext().Should().BeFalse(); }
public void GetEnumerator_WhenMultipleElements_ThenFirstMinimumAndLastMaximum() { // when var result = new List <int>(); IEnumerator <int> enumerator = testObject.GetEnumerator(); while (enumerator.MoveNext()) { result.Add(enumerator.Current); } // then result.Should().HaveElementAt(0, minimum) .And.HaveElementAt(result.Count - 1, maximum); }
public void GetEnumerator_WhenSingleElement_ThenThisElementOnly() { // given int element = 17; testObject = new DoubleHeap <int>(new[] { element }); // when IEnumerator <int> result = testObject.GetEnumerator(); // then result.MoveNext().Should().BeTrue(); result.Current.Should().Be(element); result.MoveNext().Should().BeFalse(); }