Files
JavaScript/String/test/IsPalindrome.test.js
2022-06-16 22:28:59 +05:30

34 lines
1.2 KiB
JavaScript

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()
})
})