public IHttpActionResult GetFibonacciSeries([FromBody] Fibonacci req) { try { using (FibonacciContext context = new FibonacciContext()) { Fibonacci fib = context.Fibonaccis.Find(req.Position + 1); if (fib == null) { //RabbitMQClient client = new RabbitMQClient(); FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger result = fr.GetNumberAtPosition(req.Position); req.FibonacciNumber = result.ToString(); fr.SaveSeries(context); //client.SendFibonacciNum(req); //client.Close(); } else { req.FibonacciNumber = fib.FibonacciNumber; } } } catch (Exception) { return(StatusCode(HttpStatusCode.BadRequest)); } return(Ok(req)); }
public void FibonacciCalcNumAtPosWithLargestPositionTest() { FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger res = fr.GetNumberAtPosition(100000); res = fr.GetNumberAtPosition(100); Assert.AreEqual(res.ToString(), "354224848179261915075"); }
public void FibonacciCalcNumAtPosTest() { FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger res = fr.GetNumberAtPosition(10); Assert.AreEqual(res, 55); res = fr.GetNumberAtPosition(30); }
public void FibonacciCalcNumAtPosCacheTest() { FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger res = fr.GetNumberAtPosition(100000); //see if the cache is geeting used. res = fr.GetNumberAtPosition(100); Assert.AreEqual(res.ToString(), "354224848179261915075"); }
public void FibonacciCalcNumAtPosNegativeTest() { FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger res = fr.GetNumberAtPosition(0); Assert.AreEqual(res, 0); res = fr.GetNumberAtPosition(-1); Assert.AreEqual(res, -1); res = fr.GetNumberAtPosition(1); Assert.AreEqual(res, 1); res = fr.GetNumberAtPosition(2); Assert.AreEqual(res, 1); }
public IHttpActionResult GenerateFibonacciSeries([FromBody] Fibonacci req) { try { RabbitMQClient client = new RabbitMQClient(); FibonacciCalcNumAtPos fr = new FibonacciCalcNumAtPos(); BigInteger result = fr.GetNumberAtPosition(req.Position); req.res = result; client.SendFibonacciNum(req); client.Close(); } catch (Exception) { return(StatusCode(HttpStatusCode.BadRequest)); } return(Ok(req)); }