2021-05-05 14:23:50 +09:00
|
|
|
import { isDivisible } from '../IsDivisible'
|
|
|
|
|
|
|
|
|
|
describe('isDivisible', () => {
|
|
|
|
|
const testCases = [
|
|
|
|
|
[0, 1, true],
|
|
|
|
|
[0, 2, true],
|
|
|
|
|
[1, 1, true],
|
|
|
|
|
[1, 2, false],
|
|
|
|
|
[2, 1, true],
|
|
|
|
|
[4, 4, true],
|
|
|
|
|
[16, 4, true],
|
|
|
|
|
[36978235, 5, true],
|
|
|
|
|
[36978235, 4, false],
|
|
|
|
|
[4.5, 1.5, true],
|
|
|
|
|
[4.5, 1.2, false],
|
|
|
|
|
[5, 0, false],
|
|
|
|
|
[5, -0, false]
|
|
|
|
|
]
|
|
|
|
|
|
2023-10-03 23:08:19 +02:00
|
|
|
test.each(testCases)(
|
|
|
|
|
'if parameters are (%i, %i) it returns %p',
|
|
|
|
|
(dividend, divisor, expected) => {
|
|
|
|
|
expect(isDivisible(dividend, divisor)).toBe(expected)
|
|
|
|
|
}
|
|
|
|
|
)
|
2021-05-05 14:23:50 +09:00
|
|
|
|
|
|
|
|
const errorCases = [
|
|
|
|
|
[NaN, NaN],
|
|
|
|
|
[NaN, 1],
|
|
|
|
|
[1, NaN],
|
2021-05-23 18:09:39 +09:00
|
|
|
['1', 1],
|
|
|
|
|
[1, '1'],
|
2021-05-05 14:23:50 +09:00
|
|
|
[1, true],
|
|
|
|
|
[false, 2]
|
|
|
|
|
]
|
|
|
|
|
|
2023-10-03 23:08:19 +02:00
|
|
|
test.each(errorCases)(
|
|
|
|
|
'throws an error if parameters are (%p, %p)',
|
|
|
|
|
(dividend, divisor) => {
|
|
|
|
|
expect(() => {
|
|
|
|
|
isDivisible(dividend, divisor)
|
|
|
|
|
}).toThrow()
|
|
|
|
|
}
|
|
|
|
|
)
|
2021-05-05 14:23:50 +09:00
|
|
|
})
|