mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-04 15:39:42 +08:00
tests: add HexToDecimal.test.js
(#1662)
This commit is contained in:
@ -1,4 +1,7 @@
|
||||
function hexToInt(hexNum) {
|
||||
if (!/^[0-9A-F]+$/.test(hexNum)) {
|
||||
throw new Error('Invalid hex string.')
|
||||
}
|
||||
const numArr = hexNum.split('') // converts number to array
|
||||
return numArr.map((item, index) => {
|
||||
switch (item) {
|
||||
@ -29,4 +32,4 @@ function hexToDecimal(hexNum) {
|
||||
}, 0)
|
||||
}
|
||||
|
||||
export { hexToInt, hexToDecimal }
|
||||
export { hexToDecimal }
|
||||
|
24
Conversions/test/HexToDecimal.test.js
Normal file
24
Conversions/test/HexToDecimal.test.js
Normal file
@ -0,0 +1,24 @@
|
||||
import { hexToDecimal } from '../HexToDecimal'
|
||||
|
||||
describe('Testing HexToDecimal', () => {
|
||||
it.each([
|
||||
['0', 0],
|
||||
['1', 1],
|
||||
['A', 10],
|
||||
['B', 11],
|
||||
['C', 12],
|
||||
['D', 13],
|
||||
['E', 14],
|
||||
['F', 15],
|
||||
['10', 16],
|
||||
['859', 2137],
|
||||
['4D2', 1234],
|
||||
['81323ABD92', 554893491602]
|
||||
])('check with %s', (hexStr, expected) => {
|
||||
expect(hexToDecimal(hexStr)).toBe(expected)
|
||||
})
|
||||
|
||||
it.each(['a', '-1', 'G', ''])('throws for %s', (hexStr) => {
|
||||
expect(() => hexToDecimal(hexStr)).toThrowError()
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user