mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 16:26:47 +08:00
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 <alexandre.vu@montreal.ca>
This commit is contained in:
@ -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 }
|
||||
|
18
String/test/CheckSnakeCase.test.js
Normal file
18
String/test/CheckSnakeCase.test.js
Normal file
@ -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)
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user