public void FunctionalLifeSpanTest_ShouldProduceDesiredResults() { // Arrange. var firstTerm = 3d; var commonRatio = 2d; // Act. var target = new GeometricSequence(firstTerm, commonRatio); // Assert. target.CalculatedTermCount.Should().Be(1); target[0].Should().Be(firstTerm); target[1].Should().Be(6); target[2].Should().Be(12); target[3].Should().Be(24); target[4].Should().Be(48); target.CalculatedTermCount.Should().Be(5); target[5].Should().Be(96); target[6].Should().Be(192); target[7].Should().Be(384); target[8].Should().Be(768); target[9].Should().Be(1536); target.CalculatedTermCount.Should().Be(10); target.Reset(); target.CalculatedTermCount.Should().Be(1); target[0].Should().Be(firstTerm); target[1].Should().Be(6); target[2].Should().Be(12); }
public void Constructor_ShouldRaiseArgumentOutOfRangeException_ForZeroCommonRatioArgument() { // Arrange. var firstTerm = 3d; var commonRatio = 0d; // Act. var action = new Action(() => { var target = new GeometricSequence(firstTerm, commonRatio); }); // Assert. action.Should().Throw <ArgumentOutOfRangeException>(); }
public void GeometricSequence() { var g1 = new GeometricSequence { InitialTerm = 2, CommonRatio = 3 }; Assert.AreEqual(486, g1.NTerm(5)); var g2 = new GeometricSequence { InitialTerm = 2, CommonRatio = 0.5 }; Assert.AreEqual(4, g2.InfiniteSum()); }