From 51415f8a12ffe60edcb7fc31a18305d6128496e7 Mon Sep 17 00:00:00 2001 From: YATIN KATHURIA <47096348+Yatin-kathuria@users.noreply.github.com> Date: Sat, 27 Nov 2021 12:58:18 +0530 Subject: [PATCH] merge: Add test case (#851) * Add test case * minor fix * delete files * rename file --- Recursive/Factorial.js | 18 ++++++++++++++++++ Recursive/factorial.js | 11 ----------- Recursive/test/Factorial.test.js | 11 +++++++++++ 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 Recursive/Factorial.js delete mode 100644 Recursive/factorial.js create mode 100644 Recursive/test/Factorial.test.js diff --git a/Recursive/Factorial.js b/Recursive/Factorial.js new file mode 100644 index 000000000..5d882e5ea --- /dev/null +++ b/Recursive/Factorial.js @@ -0,0 +1,18 @@ +/** + * @function Factorial + * @description function to find factorial using recursion. + * @param {Integer} n - The input integer + * @return {Integer} - Factorial of n. + * @see [Factorial](https://en.wikipedia.org/wiki/Factorial) + * @example 5! = 1*2*3*4*5 = 120 + * @example 2! = 1*2 = 2 + */ + +const factorial = (n) => { + if (n === 0) { + return 1 + } + return n * factorial(n - 1) +} + +export { factorial } diff --git a/Recursive/factorial.js b/Recursive/factorial.js deleted file mode 100644 index ada7627c0..000000000 --- a/Recursive/factorial.js +++ /dev/null @@ -1,11 +0,0 @@ -// function to find factorial using recursion -// example : -// 5! = 1*2*3*4*5 = 120 -// 2! = 1*2 = 2 - -export const factorial = (n) => { - if (n === 0) { - return 1 - } - return n * factorial(n - 1) -} diff --git a/Recursive/test/Factorial.test.js b/Recursive/test/Factorial.test.js new file mode 100644 index 000000000..b124efea5 --- /dev/null +++ b/Recursive/test/Factorial.test.js @@ -0,0 +1,11 @@ +import { factorial } from '../Factorial' + +describe('Factorial', () => { + it('should return factorial 1 for value "0"', () => { + expect(factorial(0)).toBe(1) + }) + + it('should return factorial 120 for value "5"', () => { + expect(factorial(5)).toBe(120) + }) +})