Files
JavaScript/Maths/test/GetEuclidGCD.test.js
Piotr Idzik bd34e9fa61 feat: remove duplicated gcd-like functions (#1642)
* feat: remove duplicated `gcd`-like functions

* Updated Documentation in README.md

---------

Co-authored-by: vil02 <vil02@users.noreply.github.com>
2024-03-16 09:29:14 +05:30

26 lines
737 B
JavaScript

import { GetEuclidGCD, GetEuclidGCDRecursive } from '../GetEuclidGCD'
describe.each([GetEuclidGCD, GetEuclidGCDRecursive])(
'%# GetEuclidGCD',
(gcdFunction) => {
it.each([
[5, 20, 5],
[109, 902, 1],
[290, 780, 10],
[104, 156, 52],
[0, 100, 100],
[-5, 50, 5],
[0, 0, 0],
[1, 1234567, 1]
])('returns correct result for %i and %j', (inputA, inputB, expected) => {
expect(gcdFunction(inputA, inputB)).toBe(expected)
expect(gcdFunction(inputB, inputA)).toBe(expected)
})
it('should throw when any of the inputs is not a number', () => {
expect(() => gcdFunction('1', 2)).toThrowError()
expect(() => gcdFunction(1, '2')).toThrowError()
})
}
)