mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 00:01:37 +08:00

* chore: Switch to Node 20 + Vitest * chore: migrate to vitest mock functions * chore: code style (switch to prettier) * test: re-enable long-running test Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime! see #1193 * chore: code style * chore: fix failing tests * Updated Documentation in README.md * Update contribution guidelines to state usage of Prettier * fix: set prettier printWidth back to 80 * chore: apply updated code style automatically * fix: set prettier line endings to lf again * chore: apply updated code style automatically --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
import {
|
|
convertArbitraryBase,
|
|
convertArbitraryBaseBigIntVersion
|
|
} from '../ArbitraryBase'
|
|
|
|
test('Check the answer of convertArbitraryBase(98, 0123456789, 01234567) is 142', () => {
|
|
const res = convertArbitraryBase('98', '0123456789', '01234567')
|
|
expect(res).toBe('142')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(98, 0123456789, abcdefgh) is bec', () => {
|
|
const res = convertArbitraryBase('98', '0123456789', 'abcdefgh')
|
|
expect(res).toBe('bec')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(98, 0123456789, 98765432) is 857', () => {
|
|
const res = convertArbitraryBase('98', '0123456789', '98765432')
|
|
expect(res).toBe('857')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(129, 0123456789, 01234567) is 201', () => {
|
|
const res = convertArbitraryBase('129', '0123456789', '01234567')
|
|
expect(res).toBe('201')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(112, 0123456789, 12345678) is 271', () => {
|
|
const res = convertArbitraryBase('112', '0123456789', '12345678')
|
|
expect(res).toBe('271')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(112, 0123456789, 123456789) is 245', () => {
|
|
const res = convertArbitraryBase('112', '0123456789', '123456789')
|
|
expect(res).toBe('245')
|
|
})
|
|
|
|
test('Check the answer of convertArbitraryBase(111, 0123456789, abcdefgh) is bfh', () => {
|
|
const res = convertArbitraryBase('111', '0123456789', 'abcdefgh')
|
|
expect(res).toBe('bfh')
|
|
})
|
|
|
|
test('Unicode awareness', () => {
|
|
const res = convertArbitraryBase('98', '0123456789', '💝🎸🦄')
|
|
expect(res).toBe('🎸💝🎸🦄🦄')
|
|
})
|
|
|
|
test('zero', () => {
|
|
const res = convertArbitraryBase('0', '0123456789', 'abc')
|
|
expect(res).toBe('a')
|
|
})
|
|
|
|
test('BigInt version with input string of arbitrary length', () => {
|
|
const resBigIntVersion = convertArbitraryBaseBigIntVersion(
|
|
String(10n ** 100n),
|
|
'0123456789',
|
|
'0123456789abcdefghijklmnopqrstuvwxyz'
|
|
)
|
|
|
|
expect(resBigIntVersion).toBe((10n ** 100n).toString(36))
|
|
})
|