public void CalculateNext_ShouldProduceDesiredResults_ForValidCountArgument() { // Arrange. var seedTerms = new Int32[] { 0, 1, 2 }; var target = new SimulatedInfiniteSequence(seedTerms); // Act. var result = target.CalculateNext(5); // Assert. result.Should().BeEquivalentTo(3, 4, 5, 6, 7); target.CalculatedTermCount.Should().Be(8); }
public void CalculateNext_ShouldProduceDesiredResults_ForParameterlessInvocation() { // Arrange. var seedTerms = new Int32[] { 0, 1, 2 }; var target = new SimulatedInfiniteSequence(seedTerms); // Act. var result = target.CalculateNext(); // Assert. result.Should().Be(3); target.CalculatedTermCount.Should().Be(4); }
public void CalculateNext_ShouldRaiseArgumentOutOfRangeException_ForNegativeCountArgument() { // Arrange. var seedTerms = new Int32[] { 0, 1, 2 }; var target = new SimulatedInfiniteSequence(seedTerms); // Act. var action = new Action(() => { var result = target.CalculateNext(-1); }); // Assert. action.Should().Throw <ArgumentOutOfRangeException>(); }