private long GetFirstTriangleNumberWithAtLeastNDivisor(int requiredNumberOfDivisors) { int n = 1; var nthTriangleNumber = TriangleNumberHelper.GetNthTriangleNumber(n); while (DivisorHelper.GetNumberOfDivisors(nthTriangleNumber) < requiredNumberOfDivisors) { n++; nthTriangleNumber = TriangleNumberHelper.GetNthTriangleNumber(n); } return(nthTriangleNumber); }
public void GetListOfTriangleNumbersBelowMax_WithMax56_ReturnsCorrectList() { // Arrange var max = 56; var expectedResult = new List <long> { 1, 3, 6, 10, 15, 21, 28, 36, 45, 55 }; // Act var result = TriangleNumberHelper.GetListOfTriangleNumbersBelowMax(max); // Assert result.Should().BeEquivalentTo(expectedResult); }
public void GetFirstNTriangleNumbersWhichAreAlsoPentagonalAndHexogonal_WithCount2_ReturnsCorrectList() { // Arrange var count = 2; var expectedList = new List <long> { 1, 40755 }; // Act var result = TriangleNumberHelper.GetFirstNTriangleNumbersWhichAreAlsoPentagonalAndHexogonal(count); // Assert result.Should().HaveCount(2); result.Should().BeEquivalentTo(expectedList); }
public void GetNthTriangleNumber_ReturnsCorrectResult(int n, long nthTriangleNumber) { TriangleNumberHelper.GetNthTriangleNumber(n).Should().Be(nthTriangleNumber); }