49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|