mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-09 05:35:45 +08:00
merge: Add new IsPalindrome implementation (#1046)
This commit is contained in:
33
String/test/IsPalindrome.test.js
Normal file
33
String/test/IsPalindrome.test.js
Normal file
@ -0,0 +1,33 @@
|
||||
import { isPalindromeIterative } from '../IsPalindrome'
|
||||
|
||||
describe('isPalindrome', () => {
|
||||
it('expects to return true with empty string', () => {
|
||||
expect(isPalindromeIterative('')).toEqual(true)
|
||||
})
|
||||
|
||||
it('expects to return true when length of input is 1', () => {
|
||||
const numberInput = 6
|
||||
const stringInput = 'a'
|
||||
expect(isPalindromeIterative(numberInput)).toEqual(true)
|
||||
expect(isPalindromeIterative(stringInput)).toEqual(true)
|
||||
})
|
||||
|
||||
it('expects to return true when input is palindrome', () => {
|
||||
expect(isPalindromeIterative(121)).toEqual(true)
|
||||
expect(isPalindromeIterative('yooy')).toEqual(true)
|
||||
expect(isPalindromeIterative('19noon91')).toEqual(true)
|
||||
expect(isPalindromeIterative('!*tyyt*!')).toEqual(true)
|
||||
})
|
||||
|
||||
it('expects to return false when input is not palindrome', () => {
|
||||
expect(isPalindromeIterative('hello')).toEqual(false)
|
||||
expect(isPalindromeIterative(189)).toEqual(false)
|
||||
expect(isPalindromeIterative('!*98[!')).toEqual(false)
|
||||
})
|
||||
|
||||
it('expects to throw error when input is not a string or a number', () => {
|
||||
expect(() => isPalindromeIterative(undefined)).toThrowError()
|
||||
expect(() => isPalindromeIterative({ key: 'val' })).toThrowError()
|
||||
expect(() => isPalindromeIterative([])).toThrowError()
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user