public async Task <ActionResult <PrimeNumberMultiplicationResponse> > GetPrimeNumberMultiplicationAsync(int n) { var request = new PrimeNumberMultiplicationRequest { Number = n }; return(await multiplicationService.GetMultiplicationTableAsync(request)); }
public void GetMultiplicationTable_PrimeNumberMultiplicationRequestAsNull_ResponseSuccessFalse() { //Arrange PrimeNumberMultiplicationRequest request = null; //Act var response = this.primeNumberMultiplicationService.GetMultiplicationTableAsync(request).Result; //Assert Assert.AreEqual(response.Errors[0].ErrorMessage, "Invalid request"); Assert.IsFalse(response.Success); }
public void MultiplicationOfOnePrimeNumbers_PrimeNumberMultiplicationRequest_ResponseSuccessTrue() { //Arrange var request = new PrimeNumberMultiplicationRequest(); request.Number = 1; this.primeNumberGeneratorMock .Setup(x => x.GeneratePrimes(1)) .ReturnsAsync(new List <int> { 2 }); //Act var response = this.primeNumberMultiplicationService.GetMultiplicationTableAsync(request).Result; //Assert Assert.AreEqual(request.Number + 1, response.Data.Count); Assert.AreEqual(request.Number + 1, response.Data[0].Count); Assert.IsTrue(response.Success); }
public async Task <PrimeNumberMultiplicationResponse> GetMultiplicationTableAsync(PrimeNumberMultiplicationRequest request) { var response = new PrimeNumberMultiplicationResponse(); if (request == null || request.Number == null || request.Number <= 0) { response.Data = null; response.AddErrorMessage("Invalid request"); return(response); } var primenumbers = await primeNumberGenerator.GeneratePrimes(request.Number.Value); List <List <double> > PrimeMultiplicationTable = new List <List <double> >(); List <int> firstRow = new List <int>(); firstRow.Add(1); firstRow.AddRange(primenumbers.Select(x => x)); foreach (int n in firstRow) { List <double> nextRow = new List <double>(); foreach (int number in firstRow) { nextRow.Add(number * n); } PrimeMultiplicationTable.Add(nextRow); } response.Data = PrimeMultiplicationTable; return(response); }