using Numbers.NumberFactory; namespace Numbers.Test.NumberFactory; public sealed class NumbersEnumeratorTests { private readonly NumbersEnumerator _enumerator = new([1, 2, 3]); [Fact] public void MoveNext_StopWhenExhausted() { _enumerator.MoveNext().Should().BeTrue(); _enumerator.MoveNext().Should().BeTrue(); _enumerator.MoveNext().Should().BeTrue(); _enumerator.MoveNext().Should().BeFalse(); } [Fact] public void MoveNext_Simple() { _enumerator.MoveNext().Should().BeTrue("can move"); } [Fact] public void Current() { _enumerator.MoveNext(); _enumerator.Current.Should().Be(1); _enumerator.MoveNext(); _enumerator.Current.Should().Be(2); _enumerator.MoveNext(); _enumerator.Current.Should().Be(3); } [Fact] public void Reset() { _enumerator.MoveNext(); _enumerator.MoveNext(); _enumerator.Reset(); _enumerator.Current.Should().Be(-1); _enumerator.MoveNext(); _enumerator.Current.Should().Be(1); } }