From b03a1b8bbeb1a2bd71ad16c36281f9ab1e19f9fd Mon Sep 17 00:00:00 2001 From: alvux Date: Sat, 2 Oct 2021 04:05:43 -0400 Subject: [PATCH] chore: merge "Add tests for snake case algorithm" (#708) * feat: adjust function name and use ES6 export * feat: add test for SnakeCase Co-authored-by: Alexandre VU --- String/CheckSnakeCase.js | 8 ++++---- String/test/CheckSnakeCase.test.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 String/test/CheckSnakeCase.test.js diff --git a/String/CheckSnakeCase.js b/String/CheckSnakeCase.js index 6e0483210..07eda707a 100644 --- a/String/CheckSnakeCase.js +++ b/String/CheckSnakeCase.js @@ -3,18 +3,18 @@ // Problem Source & Explanation: https://en.wikipedia.org/wiki/Naming_convention_(programming) /** - * CheckSnakeCase method returns true if the string in snake_case, else return the false. + * checkSnakeCase method returns true if the string in snake_case, else return the false. * @param {String} varName the name of the variable to check. * @returns `Boolean` return true if the string is in snake_case, else return false. */ -const CheckSnakeCase = (varName) => { +const checkSnakeCase = (varName) => { // firstly, check that input is a string or not. if (typeof varName !== 'string') { - return new TypeError('Argument is not a string.') + throw new TypeError('Argument is not a string.') } const pat = /(.*?)_([a-zA-Z])*/ return pat.test(varName) } -module.exports = CheckSnakeCase +export { checkSnakeCase } diff --git a/String/test/CheckSnakeCase.test.js b/String/test/CheckSnakeCase.test.js new file mode 100644 index 000000000..dabe73a99 --- /dev/null +++ b/String/test/CheckSnakeCase.test.js @@ -0,0 +1,18 @@ +import { checkSnakeCase } from '../CheckSnakeCase' +describe('checkSnakeCase', () => { + it('expect to throw an error if input is not a string', () => { + expect(() => checkSnakeCase(0)).toThrow() + }) + + it('expects to return true if the input is in snake case format', () => { + const value = 'docker_build' + const result = checkSnakeCase(value) + expect(result).toBe(true) + }) + + it('expects to return false if the input is not in snake case format', () => { + const value = 'dockerBuild' + const result = checkSnakeCase(value) + expect(result).toBe(false) + }) +})